How to Set the Data Storage Location for Disk-Based Query Tables

How to Set the Data Storage Location for Disk-Based Query Tables

book

Article ID: KB0076059

calendar_today

Updated On:

Products Versions
TIBCO Streaming 10.x

Description

In TIBCO Streaming versions 10.0 and later, the data storage location for disk-based query tables should be set via the dataAreaPath property in your engine configuration file. For example..
streamBase = {
  dataAreaPath = "/tmp/myDataDir"
}
For details, refer to the Help under Home > Configuration Guide > StreamBase Configuration Types > StreamBase Engine Configuration.

However, versions 10.4.3 and earlier have a defect relating to the dataAreaPath. This defect is revealed to the console via the following error message..
2019-10-30 09:56:03.105440-0400 [83572:88208] ERROR com.tibco.ep.dtm.engine: (engine.cpp:216) oscdr.cpp:499: failed C++ assertion 'SW_BOMB'
It is recommended that you upgraded to 10.4.4 or later to avoid this error.

Issue/Introduction

This article discusses different methods of setting the location for disk based query table data. A defect in earlier versions can be avoided by following the steps herein.

Environment

All

Resolution

If it is not possible to upgrade, you may work around this error by adding a QueryTableDerbyStoreConfig configuration to your project.  This can be implemented in a separate HOCON configuration file as follows:
name = "query-table-disk"
version = "1.0.0"
type = "com.tibco.ep.dtm.store.file.config"
configuration =
{
    QueryTableDerbyStoreConfig =
    {
        adapterSettings =
        {
            dbName = "/path/to/disk/query/table/storage"
        }
        policySettings = { }
        recordSettings = [ ]
    }
}
The QueryTableDerbyStoreConfig remains undocumented, as the preferred approach is to upgrade to 10.4.4 or later and use the dataAreaPath property as noted above.