Tuning DSE Search index encryption

Steps to tune DSE Search index encryption.

The primary configuration settings for tuning Solr index encryption are in the dse.yaml configuration file.

Procedure

  1. In the dse.yaml file on each node, adjust the Solr index encryption options:
    solr_encryption_options:
        decryption_cache_offheap_allocation: true
        decryption_cache_size_in_mb: 256
    1. decryption_cache_offheap_allocation - Specify whether to allocate Solr decryption cache off JVM heap.
    2. decryption_cache_size_in_mb - Sets the maximum size of shared Solr decryption cache, in MB.
  2. Additional properties in the solrconfig.xml file are available to tune encryption, although DataStax recommends using the default settings:
    <directoryFactory name="DirectoryFactory" class="solr.EncryptedFSDirectoryFactory">
        <bool name="solr.crypto.cache.enabled">true</bool>
        <int name="solr.crypto.encryption.workers">2</int>
        <int name="solr.crypto.encryption.bufferpool.sizeinbytes">10240</int>
     </directoryFactory>
  3. To monitor the decryption cache, use JMX and the Solr Admin UI to view the Apache Solr metrics that are provided for Block Cache.
    For tuning purposes, review the hitratio metric. If hitratio is below 1.00, the cache is too small to fit entire decrypted index into memory.
  4. To verify which files are encrypted, use this command to list all DSE Search index files for the specified Solr core on the local node:
    dsetool list_index_files keyspace.table [--index directory]
    where --index directory specifies the data directory that contains the Solr index files. When not specified, the default directory is inferred from the Solr core name.