You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@accumulo.apache.org by "keith-turner (via GitHub)" <gi...@apache.org> on 2023/06/22 21:40:15 UTC

[GitHub] [accumulo] keith-turner opened a new issue, #3523: Clean up compaction logging

keith-turner opened a new issue, #3523:
URL: https://github.com/apache/accumulo/issues/3523

   In #3513 and #3460 a lot of debug logging was added in order to diagnose issues and just see if things were working.  This logging needs to be revisted to make it more user friendly and gear twoards having the minimal amount of logging needed to track the lifecycle of a compaction.  Also need to use the new code to use the existing user facing logging in https://github.com/apache/accumulo/blob/main/core/src/main/java/org/apache/accumulo/core/logging/TabletLogger.java


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@accumulo.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [I] Clean up compaction logging [accumulo]

Posted by "Amemeda (via GitHub)" <gi...@apache.org>.
Amemeda commented on issue #3523:
URL: https://github.com/apache/accumulo/issues/3523#issuecomment-5318183708

   Wondering what would still need to be done for this issue. As of now, it seems most logs added from the two linked prs have already been cleaned up (removed logs and the log levels have also been updated). Also, TabletLogger logs are implemented in some of the files from the prs, but not all. Unsure if that part of the issue still needs to be handled. 
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@accumulo.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [I] Clean up compaction logging [accumulo]

Posted by "Amemeda (via GitHub)" <gi...@apache.org>.
Amemeda commented on issue #3523:
URL: https://github.com/apache/accumulo/issues/3523#issuecomment-5528430482

   
   ### Review of logs added from each pr, and which logs remain
   
   Most logs have already been cleaned up, some have also had the logging level reassessed and updated (mainly to log.trace). In total, 34 logs were added for debugging between the two prs, currently there are 16 total logs remaining. User facing TabletLogger logs are used in `CompactionCoordinator.java` and `CompactionDriver.java`. If only EXISTING TabletLogger logs can be used to replace some remaning logs here, then no more TabletLogger logs are applicable unless new ones can be created.
   _________________________________________________________________________________________________________________________________
   
   https://github.com/apache/accumulo/pull/3513 Files and remaining debug logs
   
   **MiniAccumuloClusterImpl.java** (1/1 pr log remains)
   - line 889: log.info(ecActualCount + " of " + ecExpectedCount + " compactors present in ZooKeeper");
   
   **CompactionPluginUtils.java** (1/1 pr log remains)
   - line 111: log.debug("Selecting files for {} using {}", extent, selectorConfig);
   
   **CompactionCoordinator.java** (2/13 pr logs remain)
   - line 373: LOG.debug("Unable to reserve compaction job for {}, pulling another off the queue for group {}", rcJob.getExtent(), groupName);
   -  line 385: LOG.trace("No jobs found for group {}, returning empty job to compactor {}", groupName, compactorAddress);
   - ~LOG.warn("Can not commit complete compaction {} because unable to delete or rename {} ", ecid, ecm.getCompactTmpName(), e);~
   - ~LOG.warn("Failed to commit complete compaction {} {}", ecid, extent, e);~
   - ~LOG.debug("Received completion notification for nonexistent tablet {}", ecid);~
   - ~LOG.debug("Received completion notification for tablet with active operation {} {} {}", ecid, extent, tabletMetadata.getOperationId());~
   - ~LOG.debug("Received completion notification for unknown compaction {} {}", ecid, extent);~
   - ~LOG.error("Compaction contained files not in the selected set {} {} {} {} {}", tabletMetadata.getExtent(), ecid, ecm.getKind(), Optional.ofNullable(tabletMetadata.getSelectedFiles()).map(SelectedFiles::getFiles), ecm.getJobFiles());~
   - ~LOG.error("Compaction contained files not in the tablet files set {} {} {} {}", tabletMetadata.getExtent(), ecid, tabletMetadata.getFiles(), ecm.getJobFiles());~
   - ~LOG.debug("Compaction completed {} added {} removed {}", tablet.getExtent(), newDatafile, ecm.getJobFiles().stream().map(AbstractTabletFile::getFileName).collect(Collectors.toList()));~
   - ~LOG.debug("All selected files compcated for {} setting compaction ID to {}", tablet.getExtent(), compactionId);~
   - ~LOG.debug("Not all selected files for {} are done, adding new selected file {} from compaction", tablet.getExtent(), newDatafile.orElseThrow().getPath().getName());~
   - ~LOG.debug("Not all selected files for {} are done, compaction produced no output so not adding to selected set.", tablet.getExtent());~
   
   **CompactionDriver.java** (8/8 pr logs remain, most have been updated to log.trace)
   - line 204: log.trace("{} compaction for {} is complete", FateTxId.formatTid(tid), tablet.getExtent());
   - line 207: log.trace("{} ignoring tablet {} with active operation {} ", fateId, tablet.getExtent(), tablet.getOperationId());
   - line 211: log.trace("{} tablet {} has no files, attempting to mark as compacted ", fateId, tablet.getExtent());
   - line 221: log.trace("{} selecting {} files compaction for {}", fateId, tablet.getFiles().size(), tablet.getExtent());
   - line 237: log.trace("{} selected {} of {} files for {}", fateId, filesToCompact.stream().map(AbstractTabletFile::getFileName).collect(Collectors.toList()), tablet.getFiles().stream().map(AbstractTabletFile::getFileName).collect(Collectors.toList()), tablet.getExtent());
   - line 286: log.trace("{} tablet {} already has {} selected files for this compaction, waiting for them be processed", fateId, tablet.getExtent(), tablet.getSelectedFiles().getFiles().size());
   - line 381: log.debug("{} update for {} was rejected ", fateId, result.getExtent());
   
   ____________________________________________________________________________________________________________________________
   
   https://github.com/apache/accumulo/pull/3460 Files and remaining debug logs
   
   **CompactionCoordinator.java** (1/8 pr logs remain)
   - line 811: LOG.debug("Unable to remove failed compaction {} {}", extent, compactions.get(extent));
   - ~LOG.debug("Waiting {}ms for next queue check", (checkInterval - duration));~
   - ~LOG.debug("Returning external job {} to {} with {} files", result.externalCompactionId, compactorAddress, ecm.getJobFiles().size());~
   - ~LOG.debug("Unable to reserve compaction for {} ", metaJob.getTabletMetadata().getExtent());~
   - ~LOG.debug("No jobs found in queue {} ", queue);~
   - ~LOG.debug("Received completion notification for nonexistent tablet {} {}", ecid, extent);~
   - ~LOG.debug("Received completion notification for unknown compaction {} {}", ecid, extent);~
   - ~LOG.warn("Can not commit complete compaction {} because unable to rename {} to {} ", ecid, ecm.getCompactTmpName(), newDatafile, e);~
     
   **CompactionJobQueues.java** (1/1 pr logs remain)
   - line 134: log.trace("Adding jobs to queue {} {} {}", groupId, extent, jobs.stream().map(job -> "#files:" + job.getFiles().size() + ",prio:" + job.getPriority() + ",kind:" + job.getKind()).collect(Collectors.toList()));
   
   **TabletGroupWatcher.java** (1/1 pr logs remain)
   - line 714: LOG.debug("{} may need compacting adding {} jobs", tm.getExtent(), jobs.size());
   
   **Tablet.java** (1/1 pr logs remain)
   - line 242: log.debug("Tablet {} had no dir, creating {}", extent, path);


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@accumulo.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org