private void logAllHeldAndOutstandingLocks() throws IOException { LockServiceStateLogger lockServiceStateLogger = new LockServiceStateLogger( heldLocksTokenMap, outstandingLockRequestMultimap, descriptorToLockMap.asMap(), lockStateLoggerDir); lockServiceStateLogger.logLocks(); }
private void dumpYamlsInNewFiles( Map<String, Object> generatedOutstandingRequests, Map<String, Object> generatedHeldLocks, Map<String, Object> generatedSyncState, Map<String, Object> synthesizedRequestState) throws IOException { File lockStateFile = createNewFile(LOCKSTATE_FILE_PREFIX); File descriptorsFile = createNewFile(DESCRIPTORS_FILE_PREFIX); File syncStateFile = createNewFile(SYNC_STATE_FILE_PREFIX); File synthesizedRequestStateFile = createNewFile(SYNTHESIZED_REQUEST_STATE_FILE_PREFIX); dumpYaml(ImmutableList.of(generatedOutstandingRequests, generatedHeldLocks), lockStateFile); dumpYaml(ImmutableList.of(generatedSyncState), syncStateFile); dumpYaml(ImmutableList.of(synthesizedRequestState), synthesizedRequestStateFile, WARNING_SYNTHESIZE_ANONYMOUS); dumpDescriptorsYaml(descriptorsFile); }
public void logLocks() throws IOException { Map<String, Object> generatedOutstandingRequests = generateOutstandingLocksYaml(outstandingLockRequests); Map<String, Object> generatedHeldLocks = generateHeldLocks(heldLocks); Map<String, Object> generatedSyncState = generateSyncState(descriptorToLockMap); Map<String, Object> synthesizedRequestState = synthesizeRequestState(outstandingLockRequests, descriptorToLockMap); Path outputDirPath = Paths.get(outputDir); Files.createDirectories(outputDirPath); dumpYamlsInNewFiles( generatedOutstandingRequests, generatedHeldLocks, generatedSyncState, synthesizedRequestState); }
private Map<String, Object> generateOutstandingLocksYaml(Map<LockClient, Set<LockRequest>> outstandingLockRequestsMap) { Map<String, SimpleLockRequestsWithSameDescriptor> outstandingRequestMap = Maps.newHashMap(); outstandingLockRequestsMap.forEach((client, requestSet) -> { if (requestSet != null) { ImmutableSet<LockRequest> lockRequests = ImmutableSet.copyOf(requestSet); lockRequests.forEach(lockRequest -> { List<SimpleLockRequest> requestList = getDescriptorSimpleRequestMap(client, lockRequest); requestList.forEach(request -> { outstandingRequestMap.putIfAbsent(request.getLockDescriptor(), new SimpleLockRequestsWithSameDescriptor(request.getLockDescriptor())); outstandingRequestMap.get(request.getLockDescriptor()).addLockRequest(request); }); }); } }); List<SimpleLockRequestsWithSameDescriptor> sortedOutstandingRequests = sortOutstandingRequests(outstandingRequestMap.values()); return nameObjectForYamlConversion(OUTSTANDING_LOCK_REQUESTS_TITLE, sortedOutstandingRequests); }
syncStateMap.put(DESCRIPTOR_2, lock2); LockServiceStateLogger logger = new LockServiceStateLogger( heldLocksTokenMap, outstandingLockRequestMultimap, syncStateMap, LockServiceTestUtils.TEST_LOG_STATE_DIR); logger.logLocks();