Enable or Disable Verbose Warehouse Logging

The LogWarehousingInDB setting does not display in the interface and can only be set in the database via an UPDATE SQL query statement.

This setting determines whether to dump the contents of the server's in-memory objects to the database.

The objects logged are the:

  • Downstream causes that led to warehousing being required (in the WHLogDownstreamCause table)
  • Total list of affected transactions that need downstreaming because of the downstream causes (in the WHLogAffectedTrans table)
  • Transaction buckets: global bucket, and one for each of the stockpiles in memory (in the WHLogTransactionBucketItem table)
  • Batches of affected transactions as they are being downstreamed (in the WHLogBatch table)

There is a significant performance hit with this option enabled, and it also contributes significantly to the growth of the database. For example, it is possible to have around 30,000 transactions in memory at any given time. Every time warehousing runs, all these transactions are written to the WHLogTransactionBucketItem table. Each transaction belongs to the global bucket, and to at least one other stockpile's bucket. The total number of records written is on the order of about 100,000. This can lead to delays of around 2 minutes as these objects are logged.

Activity Steps

  1. To enable verbose warehouse logging:
    1. Run the following SQL query statement on the database.
      Copy
      UPDATE WarehouseSettings SET LogWarehousingInDB = 1
    2. Stop the MineMarket Service and restart it for the change to take effect.
  2. To disable verbose warehouse logging:
    1. Run the following SQL query statement on the database.
      Copy
      UPDATE WarehouseSettings SET LogWarehousingInDB = 0
    2. Stop the MineMarket Service and restart it for the change to take effect.