+ while (true) {
+ boolean acquired = semaphore.tryAcquire(1, TimeUnit.MINUTES);
+ if (!acquired) {
+ if (askWriteTransactionCount < 10) {
+ LOGGER.error("Could not acquire semaphore for askWriteTransaction for TransactionRequest {}", req);
+ LOGGER.error("Current clusters.state.headChangeSetId is {}", clusters.state.headChangeSetId);
+ LOGGER.error("Current clusters.state.transactionId is {}", clusters.state.transactionId);
+ LOGGER.error("Current amount of requests is {}", requests.size());
+ if (requests.size() < 100) {
+ LOGGER.error("Current requests {}", requests);
+ }
+ LOGGER.error("Current transaction state is {}", currentTransactionState);
+ askWriteTransactionCount++;
+ }
+ } else {
+ askWriteTransactionCount = 0;
+ break;
+ }
+ }