Source:
<code>public void applyUpdates(TInfo tinfo, long updateID, TKeyExtent tkeyExtent, List<TMutation> tmutations) throws TException { UpdateSession us = (UpdateSession) server.sessionManager.reserveSession(updateID); if (us == null) { return; } Semaphore semaphoreCopy = null; boolean reserved = true; try { KeyExtent keyExtent = new KeyExtent(tkeyExtent); if (TabletType.type(keyExtent) == TabletType.USER) { semaphoreCopy = server.getSemaphore(); if (!semaphoreCopy.tryAcquire()) { throw new TException("Mutation failed. No threads available."); } else { <START> log.info("Available permits: {}", semaphoreCopy.availablePermits()); <END> } } setUpdateTablet(us, keyExtent); if (us.currentTablet != null) { long additionalMutationSize = 0; List<Mutation> mutations = us.queuedMutations.get(us.currentTablet); for (TMutation tmutation : tmutations) { Mutation mutation = new ServerMutation(tmutation); mutations.add(mutation); additionalMutationSize += mutation.numBytes(); } us.queuedMutationSize += additionalMutationSize; long totalQueued = server.updateTotalQueuedMutationSize(additionalMutationSize); long total = server.getConfiguration().getAsBytes(Property.TSERV_TOTAL_MUTATION_QUEUE_MAX); if (totalQueued > total) { try { flush(us); } catch (HoldTimeoutException hte) { log.debug("HoldTimeoutException during applyUpdates, removing session"); server.sessionManager.removeSession(updateID, true); reserved = false; } } } } finally { if (semaphoreCopy != null) semaphoreCopy.release(); if (reserved) { server.sessionManager.unreserveSession(us); } } }</code><technical_language>This get logged mutation. this a log.trace instead</technical_language>

Target:
public void applyUpdates(TInfo tinfo, long updateID, TKeyExtent tkeyExtent, List<TMutation> tmutations) throws TException { UpdateSession us = (UpdateSession) server.sessionManager.reserveSession(updateID); if (us == null) { return; } Semaphore semaphoreCopy = null; boolean reserved = true; try { KeyExtent keyExtent = new KeyExtent(tkeyExtent); if (TabletType.type(keyExtent) == TabletType.USER) { semaphoreCopy = server.getSemaphore(); if (!semaphoreCopy.tryAcquire()) { throw new TException("Mutation failed. No threads available."); } else { log.trace("Available permits: {}", semaphoreCopy.availablePermits()); } } setUpdateTablet(us, keyExtent); if (us.currentTablet != null) { long additionalMutationSize = 0; List<Mutation> mutations = us.queuedMutations.get(us.currentTablet); for (TMutation tmutation : tmutations) { Mutation mutation = new ServerMutation(tmutation); mutations.add(mutation); additionalMutationSize += mutation.numBytes(); } us.queuedMutationSize += additionalMutationSize; long totalQueued = server.updateTotalQueuedMutationSize(additionalMutationSize); long total = server.getConfiguration().getAsBytes(Property.TSERV_TOTAL_MUTATION_QUEUE_MAX); if (totalQueued > total) { try { flush(us); } catch (HoldTimeoutException hte) { log.debug("HoldTimeoutException during applyUpdates, removing session"); server.sessionManager.removeSession(updateID, true); reserved = false; } } } } finally { if (semaphoreCopy != null) semaphoreCopy.release(); if (reserved) { server.sessionManager.unreserveSession(us); } } }