Class KernelAdminConnection
- All Implemented Interfaces:
AdminConnection,AutoCloseable
- Since:
- 5.0
- Version:
- 5.0
- Author:
- Michael Grove
-
Nested Class Summary
Nested classes/interfaces inherited from interface com.complexible.stardog.api.admin.AdminConnection
AdminConnection.FileConsumer, AdminConnection.StreamConsumer, AdminConnection.TxLogRange -
Field Summary
Fields inherited from interface com.complexible.stardog.api.admin.AdminConnection
NO_TIMEOUT -
Constructor Summary
ConstructorsConstructorDescriptionKernelAdminConnection(com.complexible.stardog.Kernel theKernel) KernelAdminConnection(com.complexible.stardog.Kernel theKernel, org.apache.shiro.subject.Subject theSubject, Options theOptions, Views<AdminConnection> theViews) -
Method Summary
Modifier and TypeMethodDescriptionprotected void_close()protected Metadata_get(String theName, Iterable<? extends MetaProperty<?>> theOptions) protected <T> String_set(String theName, MetaProperty<T> theOption, T theValue) Create a backup of the given database in the specified location.Create a backup of the server in the specified location.<T> Tcheckpoint(String theDatabase, Options theOptions) Perform a checkpoint operation (list, create, restore) against selected database.currentStatus(Options theOptions) Return the server status information, including Server/Protocols running, Stardog Home path, OS, etc.Drop the database with the given name.generateDiagnosticReport(com.complexible.stardog.util.report.DiagnosticsReport theDiagnosticsReport) Generates a zip file containing the server logs.Return thePermissionManagerfor changing user & role permissionscom.complexible.stardog.process.ProcessManagergetProperty(Collection<String> thePropertyNames) Gets the property value for a server configuration option.Return theQueryManagerfor managing running queriesReturn theRoleManagerto be used for role-centric security changescom.complexible.stardog.StoredFunctionsReturns the stored functions in this server.com.complexible.stardog.InternalStoredQueriesReturns the stored queries in this server.com.complexible.stardog.security.TokenManagerReturn a link to the object that will allow clients to interact with JWT bearer tokensReturn theUserManagerto be used for user-centric security changeslist()List all the databases in the Stardog serverTake the database offline waiting up to the specified timeout before performing a hard off-line.Makes the database online according to the default strategyOptimizes the indexes of a given database for query answering and disk utilization after the database has been heavily modified.voidrenameDatabase(String theOldName, String theNewName) Rename an existing database to a new oneRepairs the specified database if it is corrupted.replayTransactionLog(String theDb, Path theInputLog, boolean validateLog) Replays the transaction log from the specified file into the given database.Restore the database backed up to the given location, applying the given option overrides on top of the metadata stored in the backup before the database is created.Restore the database backed up to the given URL, applying the given option overrides on top of the metadata stored in the backup before the database is created.voidsetProperty(String thePropertyName, String theNewValue) Requests that the specified server configuration option value be changed to the new value.voidshutdown()Shutdown the remote Stardog server.voidtransactionLog(String theDb, AdminConnection.TxLogRange range, com.complexible.tx.api.logging.LogHandler theConsumer) Deliver parsed transaction-log records fortheDbmatchingrangetotheConsumer.voidtransactionLog(String theDb, UUID startTxId, UUID endTxId, AdminConnection.FileConsumer theFileConsumer) Download a raw transaction-log range fortheDbto a temporary file and hand the file path totheFileConsumer.Verify the integrity of specified database's index.whoami()Returns the username associated with this connection.Methods inherited from class com.complexible.stardog.api.admin.AbstractAdminConnection
as, assertOpen, assertValidName, builder, close, disk, get, get, isOpen, newDatabase, offline, setMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.complexible.stardog.api.admin.AdminConnection
backup, backup, backup, currentStatus, optimize, restore, restore, transactionLog
-
Constructor Details
-
KernelAdminConnection
public KernelAdminConnection(com.complexible.stardog.Kernel theKernel) -
KernelAdminConnection
public KernelAdminConnection(com.complexible.stardog.Kernel theKernel, org.apache.shiro.subject.Subject theSubject, Options theOptions, Views<AdminConnection> theViews)
-
-
Method Details
-
_close
protected void _close()- Specified by:
_closein classAbstractAdminConnection
-
newDatabaseBuilder
- Specified by:
newDatabaseBuilderin classAbstractAdminConnection
-
renameDatabase
Description copied from interface:AdminConnectionRename an existing database to a new one- Parameters:
theOldName- the old database nametheNewName- the new database name- Throws:
StardogException- if the database name is invalid or if the database is not offline.
-
_get
protected Metadata _get(String theName, Iterable<? extends MetaProperty<?>> theOptions) throws StardogException - Specified by:
_getin classAbstractAdminConnection- Throws:
StardogException
-
_set
protected <T> String _set(String theName, MetaProperty<T> theOption, T theValue) throws StardogException - Specified by:
_setin classAbstractAdminConnection- Throws:
StardogException
-
getProperty
Gets the property value for a server configuration option. This value will be the default for the option or the override in the properties file.- Parameters:
thePropertyNames- filter for the properties to return. Empty set will match all properties.- Returns:
- Metadata created with config values "MetaProperty.config(key, value).temporary().build()"
- Throws:
StardogException
-
setProperty
Requests that the specified server configuration option value be changed to the new value. This method will notify any listening server modules about the change request. It is not guaranteed that the listening module will update the value.- Parameters:
thePropertyName-theNewValue-- Returns:
- Throws:
StardogException
-
offline
Take the database offline waiting up to the specified timeout before performing a hard off-line. A database going offline will allow open connections to complete, but will not accept new, incoming connections.
Offline databases cannot be queried or updated and will be unaccessible to users.
Specifying a timeout of 0 will immediately shut down the database severing all open connections, i.e. a hard shutdown.
- Parameters:
theName- name of the databasetheTime- timeout duration, must be a positive numbertheTimeUnit- the unit of time for the timeout, cannot be null- Returns:
- the server output of offline
- Throws:
StardogException- if there was an error while offlining the database
-
online
Makes the database online according to the default strategy- Parameters:
theName- the name of the database- Returns:
- the server output of onlining the database
- Throws:
StardogException- if there was an error while onlining the database
-
optimize
Optimizes the indexes of a given database for query answering and disk utilization after the database has been heavily modified. If a database has been modified with a large number of additions or removals, some internal structures may become less optimized for query answering. This utility will perform several operations that will help with query answering performance. Which operations are performed depends on the options given.Optimization will NOT modify the database contents. The data layout, indexes and other internal structures might change but the data stored in the database will remain same.
- Parameters:
theName- the name of the database to optimizetheOptions- options specifying the specific optimization steps to perform or empty for default optimizations- Returns:
- the server output of optimize
- Throws:
StardogException- if an error occurs during optimization
-
list
List all the databases in the Stardog server- Returns:
- the list of databases
- Throws:
StardogException- if there was an error getting the list
-
repair
Repairs the specified database if it is corrupted. If the database is not corrupted, nothing will be repaired.- Parameters:
theName- the name of the database to repair- Returns:
- the server output of the repair
- Throws:
StardogException- if there was an error while repairing
-
verify
Verify the integrity of specified database's index.- Parameters:
theName- the name of the database to verify- Returns:
- the output of the verify operation
- Throws:
StardogException- if there was an error while verifying the database
-
whoami
Description copied from interface:AdminConnectionReturns the username associated with this connection. Useful when API tokens are used to establish the connection.- Returns:
- username
-
transactionLog
public void transactionLog(String theDb, UUID startTxId, UUID endTxId, AdminConnection.FileConsumer theFileConsumer) Description copied from interface:AdminConnectionDownload a raw transaction-log range fortheDbto a temporary file and hand the file path totheFileConsumer. The file is deleted after the consumer returns. Server-side filtering supports only the (start) and (start, end) UUID combinations;endTxIdwithoutstartTxIdis rejected. For date-based or end-only-UUID filtering useAdminConnection.transactionLog(String, TxLogRange, LogHandler)instead.- Parameters:
startTxId- inclusive starting transaction UUIDendTxId- inclusive ending transaction UUID; may benullfor "to end of log"
-
transactionLog
public void transactionLog(String theDb, AdminConnection.TxLogRange range, com.complexible.tx.api.logging.LogHandler theConsumer) Description copied from interface:AdminConnectionDeliver parsed transaction-log records fortheDbmatchingrangetotheConsumer.This is the high-level API: the implementation projects
rangeto a server-acceptable shape, downloads, parses records, applies any required client-side filtering (date bounds, end-only UUID), and forwards surviving records to the handler. -
replayTransactionLog
Description copied from interface:AdminConnectionReplays the transaction log from the specified file into the given database.- Parameters:
theDb- the database nametheInputLog- the input log file pathvalidateLog- Validates that the first transaction in the log matches the last transaction in the database before replaying.- Returns:
- The output of the tx replay operation
-
shutdown
public void shutdown() throws com.complexible.stardog.security.StardogSecurityExceptionShutdown the remote Stardog server. You must be connected to the server as a super-user.- Throws:
com.complexible.stardog.security.StardogSecurityException- if you are attempting to shut down the embedded server or if you are not a super-user and are trying to shut down a remote server.
-
drop
Drop the database with the given name.- Parameters:
theName- the name of the database to drop- Returns:
- the Result of the invocation
- Throws:
StardogException- if there was an error while dropping the database
-
backup
public String backup(String theDatabase, Optional<String> theBackupUrl, Options theOptions) throws StardogException Description copied from interface:AdminConnectionCreate a backup of the given database in the specified location. The location can be a file path on the server or a URL pointing to S3 or GCP.Configuration optionscan be specified for the backup operation.- Parameters:
theDatabase- the name of the database to back uptheBackupUrl- where to store the backup or empty if the default location should be usedtheOptions- configuration options to use for backups- Returns:
- status of the backup
- Throws:
StardogException
-
backupAll
Create a backup of the server in the specified location.- Parameters:
theOptions- Collection of BackupOptions- Returns:
- the output of the backup process
- Throws:
StardogException- if there is an error performing the backup.
-
restore
public String restore(File theBackup, boolean theOverwrite, String theName, Metadata theMetadata) throws StardogException Restore the database backed up to the given location, applying the given option overrides on top of the metadata stored in the backup before the database is created. Only options that can be set at database creation time may be overridden; attempting to override any other option will fail.- Parameters:
theBackup- the location of the backuptheOverwrite- whether or not to overwrite any existing databasetheName- a new name for the restored databasetheMetadata- metadata option overrides; may be empty- Returns:
- the output of the restore process
- Throws:
StardogException- if there was an error restoring the database from a backup
-
restore
public String restore(String theBackup, boolean theOverwrite, String theName, Metadata theMetadata) throws StardogException Restore the database backed up to the given URL, applying the given option overrides on top of the metadata stored in the backup before the database is created. Only options that can be set at database creation time may be overridden; attempting to override any other option will fail.- Parameters:
theBackup- URL of the backuptheOverwrite- whether or not to overwrite any existing databasetheName- a new name for the restored databasetheMetadata- metadata option overrides; may be empty- Returns:
- the output of the restore process
- Throws:
StardogException- if there was an error restoring the database from a backup
-
checkpoint
public Collection<String> checkpoint(String theDatabase, Options theOptions) throws StardogException Description copied from interface:AdminConnectionPerform a checkpoint operation (list, create, restore) against selected database.- Parameters:
theDatabase- the name of the database for checkpoint operationtheOptions- configuration options for the checkpoint- Returns:
- Throws:
StardogException
-
getUserManager
Return theUserManagerto be used for user-centric security changes- Returns:
- the UserManager
-
getRoleManager
Return theRoleManagerto be used for role-centric security changes- Returns:
- the RoleManager
-
getPermissionManager
Return thePermissionManagerfor changing user & role permissions- Returns:
- the PermissionManager
-
getQueryManager
Return theQueryManagerfor managing running queries -
getProcessManager
public com.complexible.stardog.process.ProcessManager getProcessManager()- Returns:
- The
ProcessManagerfor managing running queries
-
getTokenManager
public com.complexible.stardog.security.TokenManager getTokenManager()Return a link to the object that will allow clients to interact with JWT bearer tokens- Returns:
- the TokenManager
-
currentStatus
Return the server status information, including Server/Protocols running, Stardog Home path, OS, etc. Theoptionscan be used to configure which metrics will be included in the results.- Parameters:
theOptions-- Returns:
- the metrics showing the server status
- Throws:
StardogException- if there was an error retrieving the DBMS info- See Also:
-
generateDiagnosticReport
public Path generateDiagnosticReport(com.complexible.stardog.util.report.DiagnosticsReport theDiagnosticsReport) -
getLogs
Generates a zip file containing the server logs.- Parameters:
options- thelog options- Returns:
- a zip file containing the server logs
-
getStoredQueries
public com.complexible.stardog.InternalStoredQueries getStoredQueries()Returns the stored queries in this server. Returned object can be used to add and remove stored queries.- Returns:
- the stored queries
-
getStoredFunctions
public com.complexible.stardog.StoredFunctions getStoredFunctions()Returns the stored functions in this server. Returned object can be used to add and remove stored functions.- Returns:
- the stored functions
-
run
-
call
-