@Override public long getHighId() { return delegate.getHighId(); }
/** * Return the highest id in use. If this store is not OK yet, the high id is calculated from the highest * in use record on the store, using {@link #scanForHighId()}. * * @return The high id, i.e. highest id in use + 1. */ @Override public long getHighId() { return idGenerator != null ? idGenerator.getHighId() : scanForHighId(); }
/** * Sets the high id, i.e. highest id in use + 1 (use this when rebuilding id generator). * * @param highId The high id to set. */ public void setHighId( long highId ) { // This method might get called during recovery, where we don't have a reliable id generator yet, // so ignore these calls and let rebuildIdGenerators() figure out the high id after recovery. IdGenerator generator = this.idGenerator; if ( generator != null ) { //noinspection SynchronizationOnLocalVariableOrMethodParameter synchronized ( generator ) { if ( highId > generator.getHighId() ) { generator.setHighId( highId ); } } } }
@Test public void shouldReportCorrectHighId() { // given try ( IdGenerator idGenerator = createIdGenerator( 2 ) ) { assertEquals( 0, idGenerator.getHighId() ); assertEquals( -1, idGenerator.getHighestPossibleIdInUse() ); // when idGenerator.nextId(); // then assertEquals( 1, idGenerator.getHighId() ); assertEquals( 0, idGenerator.getHighestPossibleIdInUse() ); } }
assertEquals( recordFormat.getMaxId() + 1, idGenerator.getHighId() ); id = idGenerator.nextId(); assertEquals( recordFormat.getMaxId(), id );
@Override public long getHighId() { return delegate.getHighId(); }
@Override public long getHighId() { return delegate.getHighId(); }
/** * Return the highest id in use. If this store is not OK yet, the high id is calculated from the highest * in use record on the store, using {@link #scanForHighId()}. * * @return The high id, i.e. highest id in use + 1. */ @Override public long getHighId() { return idGenerator != null ? idGenerator.getHighId() : scanForHighId(); }
/** * Sets the high id, i.e. highest id in use + 1 (use this when rebuilding id generator). * * @param highId The high id to set. */ public void setHighId( long highId ) { // This method might get called during recovery, where we don't have a reliable id generator yet, // so ignore these calls and let rebuildIdGenerators() figure out the high id after recovery. IdGenerator generator = this.idGenerator; if ( generator != null ) { //noinspection SynchronizationOnLocalVariableOrMethodParameter synchronized ( generator ) { if ( highId > generator.getHighId() ) { generator.setHighId( highId ); } } } }
void switchToRaft() { long highId = delegate.getHighId(); delegate.close(); delegate = new ReplicatedIdGenerator( idType, highId, acquirer, logProvider ); }
private long getHighId( File coreDir, DefaultIdGeneratorFactory factory, IdType idType, String store ) { IdGenerator idGenerator = factory.open( new File( coreDir, idFile( store ) ), idType, -1, Long.MAX_VALUE ); long highId = idGenerator.getHighId(); idGenerator.close(); return highId; }
private long getHighId( File coreDir, DefaultIdGeneratorFactory factory, IdType idType, String store ) { IdGenerator idGenerator = factory.open( new File( coreDir, idFile( store ) ), idType, () -> -1L, Long.MAX_VALUE ); long highId = idGenerator.getHighId(); idGenerator.close(); return highId; }
private static OptionalLong countByIdGenerator(GraphDatabaseAPI api, IdType idType) { if (api != null) { try { IdGeneratorFactory idGeneratorFactory = api .getDependencyResolver() .resolveDependency(IdGeneratorFactory.class); if (idGeneratorFactory != null) { final IdGenerator idGenerator = idGeneratorFactory.get(idType); if (idGenerator != null) { return OptionalLong.of(idGenerator.getHighId()); } } } catch (IllegalArgumentException | UnsatisfiedDependencyException ignored) { } } return OptionalLong.empty(); }
private static OptionalLong countByIdGenerator(GraphDatabaseAPI api, IdType idType) { if (api != null) { try { IdGeneratorFactory idGeneratorFactory = api .getDependencyResolver() .resolveDependency(IdGeneratorFactory.class); if (idGeneratorFactory != null) { final IdGenerator idGenerator = idGeneratorFactory.get(idType); if (idGenerator != null) { return OptionalLong.of(idGenerator.getHighId()); } } } catch (IllegalArgumentException | UnsatisfiedDependencyException ignored) { } } return OptionalLong.empty(); }