diff --git a/castor-service/src/main/java/io/carbynestack/castor/service/persistence/fragmentstore/TupleChunkFragmentRepository.java b/castor-service/src/main/java/io/carbynestack/castor/service/persistence/fragmentstore/TupleChunkFragmentRepository.java index 8b26f94..00ca34f 100644 --- a/castor-service/src/main/java/io/carbynestack/castor/service/persistence/fragmentstore/TupleChunkFragmentRepository.java +++ b/castor-service/src/main/java/io/carbynestack/castor/service/persistence/fragmentstore/TupleChunkFragmentRepository.java @@ -388,10 +388,12 @@ ArrayList lockAndRetrieveReservedTuplesForConsumption( + TUPLE_CHUNK_ID_COLUMN + " = :tupleChunkId AND " + START_INDEX_COLUMN - + " = :startIdx RETURNING " + + " <= :startIdx AND " + + END_INDEX_COLUMN + + " > :startIdx RETURNING " + RESERVATION_ID_COLUMN, nativeQuery = true) - String lockFirstTupleReturningReservatioId( + String lockFirstFragmentReturningReservationId( @Param("tupleChunkId") UUID tupleChunkId, @Param("startIdx") long startIdx); @Transactional diff --git a/castor-service/src/main/java/io/carbynestack/castor/service/persistence/fragmentstore/TupleChunkFragmentStorageService.java b/castor-service/src/main/java/io/carbynestack/castor/service/persistence/fragmentstore/TupleChunkFragmentStorageService.java index 9e9b326..6576424 100644 --- a/castor-service/src/main/java/io/carbynestack/castor/service/persistence/fragmentstore/TupleChunkFragmentStorageService.java +++ b/castor-service/src/main/java/io/carbynestack/castor/service/persistence/fragmentstore/TupleChunkFragmentStorageService.java @@ -132,7 +132,7 @@ public ArrayList lockReservedFragments(String reservat public int lockReservedFragmentsWithoutRetrieving( UUID tupleChunkId, long startIdx, String reservationId) { String deletedId = - fragmentRepository.lockFirstTupleReturningReservatioId(tupleChunkId, startIdx); + fragmentRepository.lockFirstFragmentReturningReservationId(tupleChunkId, startIdx); if (deletedId != null && deletedId.equals(reservationId)) return 1 + fragmentRepository.lockRemainingTuplesWithoutRetrieving(reservationId); else diff --git a/castor-service/src/test/java/io/carbynestack/castor/service/persistence/cache/ReservationCachingServiceIT.java b/castor-service/src/test/java/io/carbynestack/castor/service/persistence/cache/ReservationCachingServiceIT.java index 192d3ac..2eda690 100644 --- a/castor-service/src/test/java/io/carbynestack/castor/service/persistence/cache/ReservationCachingServiceIT.java +++ b/castor-service/src/test/java/io/carbynestack/castor/service/persistence/cache/ReservationCachingServiceIT.java @@ -225,7 +225,7 @@ void testComposing() { Answer mocklockFirstTupleReturningReservationId = (Answer) invocation -> { - return tupleChunkFragmentRepository.lockFirstTupleReturningReservatioId( + return tupleChunkFragmentRepository.lockFirstFragmentReturningReservationId( invocation.getArgument(0, UUID.class), invocation.getArgument(1, Long.class)); };