Derby Property Access

This topic describes how to enable and disable Derby features by setting Derby properties, which are divided into categories, as shown in the following table.

   Learn more

About Property Categories

The following table summarizes the categories of Splice Machine properties.

Property Type Description
JVM (System) 

These properties can be as command line arguments to JVM:

  • For Maven, include the command line arguments as an <argument> element in the pom.xml file. For example:
  • For shell scripts, you may need to manually add the argument to the java executable command line. For example:
java -Dderby.language.logStatementText=true ... 

System properties can also be set manually using the System.setProperty(key, value) function.


Service properties are a special type of database property that is required to boot the database; as such, these properties cannot be stored in the database. Instead, they are stored outside the database, as follows:

  • Derby stores service properties in the file
  • Splice Machine stores service properties in a Zookeeper element.

You can temporarily change service properties with the SYSCS_UTIL.SYSCS_SET_GLOBAL_DATABASE_PROPERTY built-in system procedure. These changes will be lost when the server is next restarted.

To make a permanent change in a Derby service property, modify the value in the file and then restart the server to apply the changes.

To make a permanent change in a Splice Machine service property, modify the value in ZooKeeper and then restart the server to apply the changes.


Splice Machine database properties are saved in a hidden HBASE table with CONGLOMERATEID=16.

App (Derby/Splice)

App properties for both Derby and Splice Machine are saved to the file in the Derby/Splice home directory.

App properties can also be saved to these HBASE XML configuration files:

  • hbase-default.xml
  • hbase-site.xml
  • splice-site.xml

Note that the XML files must reside in the CLASSPATH.

When a property value is used, the property is searched for in the order shown in the table: the property is first searched for in the JVM properties; if not found there, it is searched for in the Service properties, then in the Database properties, and finally in the App properties.

Site File Example

The following is an example of a splice-site.xml file:

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
           <description>Property  to enable logging of all statements.</description>
          <description>Property  to test something.</description>

Displaying Derby/Splice Properties

You can display the Derby/Splice properties with the SYSCS_UTIL.SYSCS_GET_ALL_PROPERTIES system procedure, which displays information like this:


KEY                                       |VALUE            |TYPE     
derby.authentication.builtin.algorithm    |SHA-256          |DATABASE 
derby.user.BROWSE                         |Browse           |APP      
derby.engineType                          |2                |SERVICE                           |WINTERS          |APP      
derby.connection.requireAuthentication    |false            |JVM      
derby.locks.escalationThreshold           |500              |SERVICE  
derby.database.defaultConnectionMode      |fullAccess       |SERVICE  
derby.database.propertiesOnly             |false            |SERVICE  
derby.database.collation                  |UCS_BASIC        |DATABASE 
derby.language.logStatementText           |false            |JVM                |16               |SERVICE  
derby.language.logQueryPlan               |true             |JVM      
splice.updateSystemProcs                  |false            |JVM                  |false            |SERVICE  

See Also