[
https://issues.apache.org/jira/browse/IGNITE-22836?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Alexander Lapin updated IGNITE-22836:
-------------------------------------
Description:
According to the
{code:java}
private void fillAndWriteBatch(WriteBatch batch, long newRev, long newCntr,
@Nullable HybridTimestamp ts) throws RocksDBException{code}
ts may be null. In addition to method contract it is also proved by underling
implementation
{code:java}
if (ts != null) {
byte[] tsBytes = hybridTsToArray(ts);
tsToRevision.put(batch, tsBytes, revisionBytes);
revisionToTs.put(batch, revisionBytes, tsBytes);
} {code}
However in
{code:java}
updatedEntries.transfer() {code}
that is called from
{code:java}
queueWatchEvent() {code}
that on it's turn is called from aforementioned
{code:java}
fillAndWriteBatch() {code}
there's an assertion to verify that ts is not null
{code:java}
assert ts != null;{code}
> RocksDb may throw AssertionException in case of null operation timestamp
> ------------------------------------------------------------------------
>
> Key: IGNITE-22836
> URL: https://issues.apache.org/jira/browse/IGNITE-22836
> Project: Ignite
> Issue Type: Bug
> Reporter: Alexander Lapin
> Priority: Major
>
> According to the
>
> {code:java}
> private void fillAndWriteBatch(WriteBatch batch, long newRev, long newCntr,
> @Nullable HybridTimestamp ts) throws RocksDBException{code}
> ts may be null. In addition to method contract it is also proved by underling
> implementation
>
> {code:java}
> if (ts != null) {
> byte[] tsBytes = hybridTsToArray(ts);
> tsToRevision.put(batch, tsBytes, revisionBytes);
> revisionToTs.put(batch, revisionBytes, tsBytes);
> } {code}
> However in
> {code:java}
> updatedEntries.transfer() {code}
> that is called from
> {code:java}
> queueWatchEvent() {code}
> that on it's turn is called from aforementioned
> {code:java}
> fillAndWriteBatch() {code}
> there's an assertion to verify that ts is not null
> {code:java}
> assert ts != null;{code}
>
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)