This article discusses a harmless error being reported in the logs by Advanced Replication.
- DataStax Enterprise 5.1.0 and newer
When DSE Advanced Replication is configured and enabled, the
MutationsFetchers thread generates IO exceptions in the logs. Here is a sample error from a DSE 5.1.8 node:
ERROR [AdvRep-MutationsFetchers:12] 2018-06-04 06:16:35,897 RepLogFetchingReplicator.java:245 - Error while fetching mutations from replication log java.lang.RuntimeException: java.io.IOException: Could only read 0 but expected 1 bytes at com.google.common.base.Throwables.propagate(Throwables.java:160) ~[guava-18.0.jar:na] at com.datastax.bdp.advrep.storage.HeapList.get(HeapList.java:175) ~[dse-advrep-5.1.8.jar:5.1.8] at com.datastax.bdp.advrep.storage.HeapList$2.next(HeapList.java:441) ~[dse-advrep-5.1.8.jar:5.1.8] at com.datastax.bdp.advrep.storage.HeapList$2.next(HeapList.java:417) ~[dse-advrep-5.1.8.jar:5.1.8] ... Caused by: java.io.IOException: Could only read 0 but expected 1 bytes at com.datastax.bdp.advrep.storage.OffHeapListFile.readFully(OffHeapListFile.java:194) ~[dse-advrep-5.1.8.jar:5.1.8] at com.datastax.bdp.advrep.storage.OffHeapListFile.readEntryAt(OffHeapListFile.java:151) ~[dse-advrep-5.1.8.jar:5.1.8] ...
The error is generated while reading the temporary in-memory cache used for persisting Advanced Replication data from the commitlog to disk. The exception is inadvertently generated by the code despite being harmless and it does not affect replication between clusters.
It is safe to ignore the error since it does not affect replication. Work is being done to remove the error in internal ID DSP-16607. Click the "Follow" button above to get notification updates.