Skip to content

Commit 22425f6

Browse files
committed
Fix RC 5.18 compat issue
Setting meta all to 0 and not using EMPTY as -1 is not throws on components trying to start (such as CDC) neo-technology/neo4j@3ec3220
1 parent aec0deb commit 22425f6

File tree

9 files changed

+59
-2
lines changed

9 files changed

+59
-2
lines changed

compatibility/4.4/storage-engine-adapter/src/main/java/org/neo4j/gds/compat/_44/InMemoryTransactionIdStoreImpl.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@
2424
import org.neo4j.kernel.impl.transaction.log.LogPosition;
2525
import org.neo4j.storageengine.api.ClosedTransactionMetadata;
2626
import org.neo4j.storageengine.api.TransactionId;
27+
import org.neo4j.util.concurrent.ArrayQueueOutOfOrderSequence;
28+
import org.neo4j.util.concurrent.OutOfOrderSequence;
2729

2830
public class InMemoryTransactionIdStoreImpl extends AbstractTransactionIdStore {
2931

@@ -32,6 +34,11 @@ public ClosedTransactionMetadata getLastClosedTransaction() {
3234
return new ClosedTransactionMetadata(metaData[0], new LogPosition(metaData[1], metaData[2]));
3335
}
3436

37+
@Override
38+
protected OutOfOrderSequence createClosedTransactionId() {
39+
return new ArrayQueueOutOfOrderSequence(-1L, 100, new long[5]);
40+
}
41+
3542
@Override
3643
protected void initLastCommittedAndClosedTransactionId(
3744
long previouslyCommittedTxId,

compatibility/5.11/storage-engine-adapter/src/main/java17/org/neo4j/gds/compat/_511/InMemoryTransactionIdStoreImpl.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,16 @@
2525
import org.neo4j.storageengine.api.ClosedTransactionMetadata;
2626
import org.neo4j.storageengine.api.TransactionId;
2727
import org.neo4j.storageengine.api.TransactionIdStore;
28+
import org.neo4j.util.concurrent.ArrayQueueOutOfOrderSequence;
29+
import org.neo4j.util.concurrent.OutOfOrderSequence;
2830

2931
public class InMemoryTransactionIdStoreImpl extends AbstractTransactionIdStore {
3032

33+
@Override
34+
protected OutOfOrderSequence createClosedTransactionId() {
35+
return new ArrayQueueOutOfOrderSequence(-1L, 100, new long[5]);
36+
}
37+
3138
@Override
3239
protected void initLastCommittedAndClosedTransactionId(
3340
long previouslyCommittedTxId,

compatibility/5.12/storage-engine-adapter/src/main/java17/org/neo4j/gds/compat/_512/InMemoryTransactionIdStoreImpl.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,16 @@
2525
import org.neo4j.storageengine.api.ClosedTransactionMetadata;
2626
import org.neo4j.storageengine.api.TransactionId;
2727
import org.neo4j.storageengine.api.TransactionIdStore;
28+
import org.neo4j.util.concurrent.ArrayQueueOutOfOrderSequence;
29+
import org.neo4j.util.concurrent.OutOfOrderSequence;
2830

2931
public class InMemoryTransactionIdStoreImpl extends AbstractTransactionIdStore {
3032

33+
@Override
34+
protected OutOfOrderSequence createClosedTransactionId() {
35+
return new ArrayQueueOutOfOrderSequence(-1L, 100, new long[5]);
36+
}
37+
3138
@Override
3239
protected void initLastCommittedAndClosedTransactionId(
3340
long previouslyCommittedTxId,

compatibility/5.13/storage-engine-adapter/src/main/java17/org/neo4j/gds/compat/_513/InMemoryTransactionIdStoreImpl.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,16 @@
2525
import org.neo4j.storageengine.api.ClosedTransactionMetadata;
2626
import org.neo4j.storageengine.api.TransactionId;
2727
import org.neo4j.storageengine.api.TransactionIdStore;
28+
import org.neo4j.util.concurrent.ArrayQueueOutOfOrderSequence;
29+
import org.neo4j.util.concurrent.OutOfOrderSequence;
2830

2931
public class InMemoryTransactionIdStoreImpl extends AbstractTransactionIdStore {
3032

33+
@Override
34+
protected OutOfOrderSequence createClosedTransactionId() {
35+
return new ArrayQueueOutOfOrderSequence(-1L, 100, new long[5]);
36+
}
37+
3138
@Override
3239
protected void initLastCommittedAndClosedTransactionId(
3340
long previouslyCommittedTxId,

compatibility/5.14/storage-engine-adapter/src/main/java17/org/neo4j/gds/compat/_514/InMemoryTransactionIdStoreImpl.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,16 @@
2525
import org.neo4j.storageengine.api.ClosedTransactionMetadata;
2626
import org.neo4j.storageengine.api.TransactionId;
2727
import org.neo4j.storageengine.api.TransactionIdStore;
28+
import org.neo4j.util.concurrent.ArrayQueueOutOfOrderSequence;
29+
import org.neo4j.util.concurrent.OutOfOrderSequence;
2830

2931
public class InMemoryTransactionIdStoreImpl extends AbstractTransactionIdStore {
3032

33+
@Override
34+
protected OutOfOrderSequence createClosedTransactionId() {
35+
return new ArrayQueueOutOfOrderSequence(-1L, 100, new long[5]);
36+
}
37+
3138
@Override
3239
protected void initLastCommittedAndClosedTransactionId(
3340
long previouslyCommittedTxId,

compatibility/5.15/storage-engine-adapter/src/main/java17/org/neo4j/gds/compat/_515/InMemoryTransactionIdStoreImpl.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,16 @@
2525
import org.neo4j.storageengine.api.ClosedTransactionMetadata;
2626
import org.neo4j.storageengine.api.TransactionId;
2727
import org.neo4j.storageengine.api.TransactionIdStore;
28+
import org.neo4j.util.concurrent.ArrayQueueOutOfOrderSequence;
29+
import org.neo4j.util.concurrent.OutOfOrderSequence;
2830

2931
public class InMemoryTransactionIdStoreImpl extends AbstractTransactionIdStore {
3032

33+
@Override
34+
protected OutOfOrderSequence createClosedTransactionId() {
35+
return new ArrayQueueOutOfOrderSequence(-1L, 100, new long[5]);
36+
}
37+
3138
@Override
3239
protected void initLastCommittedAndClosedTransactionId(
3340
long previouslyCommittedTxId,

compatibility/5.16/storage-engine-adapter/src/main/java17/org/neo4j/gds/compat/_516/InMemoryTransactionIdStoreImpl.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,16 @@
2525
import org.neo4j.storageengine.api.ClosedTransactionMetadata;
2626
import org.neo4j.storageengine.api.TransactionId;
2727
import org.neo4j.storageengine.api.TransactionIdStore;
28+
import org.neo4j.util.concurrent.ArrayQueueOutOfOrderSequence;
29+
import org.neo4j.util.concurrent.OutOfOrderSequence;
2830

2931
public class InMemoryTransactionIdStoreImpl extends AbstractTransactionIdStore {
3032

33+
@Override
34+
protected OutOfOrderSequence createClosedTransactionId() {
35+
return new ArrayQueueOutOfOrderSequence(-1L, 100, new long[5]);
36+
}
37+
3138
@Override
3239
protected void initLastCommittedAndClosedTransactionId(
3340
long previouslyCommittedTxId,

compatibility/5.17/storage-engine-adapter/src/main/java17/org/neo4j/gds/compat/_517/InMemoryTransactionIdStoreImpl.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,16 @@
2525
import org.neo4j.storageengine.api.ClosedTransactionMetadata;
2626
import org.neo4j.storageengine.api.TransactionId;
2727
import org.neo4j.storageengine.api.TransactionIdStore;
28+
import org.neo4j.util.concurrent.ArrayQueueOutOfOrderSequence;
29+
import org.neo4j.util.concurrent.OutOfOrderSequence;
2830

2931
public class InMemoryTransactionIdStoreImpl extends AbstractTransactionIdStore {
3032

33+
@Override
34+
protected OutOfOrderSequence createClosedTransactionId() {
35+
return new ArrayQueueOutOfOrderSequence(-1L, 100, new long[5]);
36+
}
37+
3138
@Override
3239
protected void initLastCommittedAndClosedTransactionId(
3340
long previouslyCommittedTxId,

compatibility/api/storage-engine-adapter/src/main/java/org/neo4j/internal/recordstorage/AbstractTransactionIdStore.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121

2222
import org.neo4j.storageengine.api.TransactionId;
2323
import org.neo4j.storageengine.api.TransactionIdStore;
24-
import org.neo4j.util.concurrent.ArrayQueueOutOfOrderSequence;
2524
import org.neo4j.util.concurrent.OutOfOrderSequence;
2625

2726
import java.util.concurrent.atomic.AtomicLong;
@@ -47,7 +46,7 @@ private AbstractTransactionIdStore(
4746
long previouslyCommittedTxLogByteOffset
4847
) {
4948
this.committingTransactionId = new AtomicLong();
50-
this.closedTransactionId = new ArrayQueueOutOfOrderSequence(-1L, 100, new long[5]);
49+
this.closedTransactionId = createClosedTransactionId();
5150
this.committedTransactionId = new AtomicReference<>(transactionId(1L, -559063315, 0L));
5251

5352
assert previouslyCommittedTxId >= 1L : "cannot start from a tx id less than BASE_TX_ID";
@@ -64,6 +63,8 @@ private AbstractTransactionIdStore(
6463
this.previouslyCommittedTxCommitTimestamp = previouslyCommittedTxCommitTimestamp;
6564
}
6665

66+
protected abstract OutOfOrderSequence createClosedTransactionId();
67+
6768
protected abstract void initLastCommittedAndClosedTransactionId(
6869
long previouslyCommittedTxId,
6970
int checksum,

0 commit comments

Comments
 (0)