[infinispan-issues] [JBoss JIRA] (ISPN-10272) RocskDbStore BatchWrite org.rocksdb.RocksDBException: unknown WriteBatch tag

Jestan Nirojan (Jira) issues at jboss.org
Wed Jun 5 09:00:01 EDT 2019


Jestan Nirojan created ISPN-10272:
-------------------------------------

             Summary: RocskDbStore BatchWrite org.rocksdb.RocksDBException: unknown WriteBatch tag 
                 Key: ISPN-10272
                 URL: https://issues.jboss.org/browse/ISPN-10272
             Project: Infinispan
          Issue Type: Bug
    Affects Versions: 9.4.14.Final
         Environment: h6. OS

Ubuntu 16.0.4  4.15.0-1045-azure x86_64 

h6. Java

Java(TM) SE Runtime Environment (build 1.8.0_181-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)
            Reporter: Jestan Nirojan


h6. Issue Description

RocksDBStore is not closing WriteBatch native handles and under heavy write with multiple databases, following error is continuously throwing and database never recovers (following error is from infinispan 9.2.5-Final but i believe same issue exists in master , see https://github.com/infinispan/infinispan/blob/1bcfe5823e7957060080741f7d06f343c3447699/persistence/rocksdb/src/main/java/org/infinispan/persistence/rocksdb/RocksDBStore.java#L756)

Caused by: org.rocksdb.RocksDBException: unknown WriteBatch tag
at org.rocksdb.RocksDB.write0(Native Method) 
at org.rocksdb.RocksDB.write(RocksDB.java:602)
at org.infinispan.persistence.rocksdb.RocksDBStore.writeBatch(RocksDBStore.java:393)
at org.infinispan.persistence.rocksdb.RocksDBStore.writeBatch(RocksDBStore.java:374)
at org.infinispan.persistence.manager.PersistenceManagerImpl.lambda$writeBatchToAllNonTxStores$12

I was also getting other errors from this list, for example "bad WriteBatch Delete"https://github.com/facebook/rocksdb/blob/cae22c53fbad071be8aa3a8543415383b4dfaef4/db/write_batch.cc#L302



h6. Fix

private void writeBatch(WriteBatch batch) throws InterruptedException, RocksDBException {
    semaphore.acquire();
    try {
        if (stopped)
            throw new PersistenceException("RocksDB is stopped");

        db.write(dataWriteOptions(), batch);
    } finally {
        semaphore.release();
         batch.close();
    }
}




--
This message was sent by Atlassian Jira
(v7.12.1#712002)


More information about the infinispan-issues mailing list