diff --git oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/FileStore.java oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/FileStore.java index f5541e0..5980fd0 100644 --- oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/FileStore.java +++ oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/FileStore.java @@ -686,6 +686,8 @@ public class FileStore implements SegmentStore, Closeable { public Void call() throws Exception { segmentWriter.flush(); tarWriter.flush(); + stats.flushed(); + return null; } }); @@ -710,8 +712,6 @@ public class FileStore implements SegmentStore, Closeable { } } } - - stats.flushed(); } /** diff --git oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/FileStoreStats.java oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/FileStoreStats.java index 2ebb27a..a9d8bbc 100644 --- oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/FileStoreStats.java +++ oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/FileStoreStats.java @@ -102,7 +102,12 @@ public class FileStoreStats implements FileStoreStatsMBean, FileStoreMonitor { } @Override - public CompositeData getJournalWriteStats() { + public long getJournalWriteStatsAsCount() { + return journalWriteStats.getCount(); + } + + @Override + public CompositeData getJournalWriteStatsAsCompositeData() { return asCompositeData(getTimeSeries(JOURNAL_WRITES), JOURNAL_WRITES); } diff --git oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/FileStoreStatsMBean.java oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/FileStoreStatsMBean.java index 931385d..ba13c9a 100644 --- oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/FileStoreStatsMBean.java +++ oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/FileStoreStatsMBean.java @@ -42,7 +42,12 @@ public interface FileStoreStatsMBean { String fileStoreInfoAsString(); /** + * @return count of the writes to journal + */ + long getJournalWriteStatsAsCount(); + + /** * @return time series of the writes to journal */ - CompositeData getJournalWriteStats(); + CompositeData getJournalWriteStatsAsCompositeData(); } diff --git oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/FileStoreStatsTest.java oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/FileStoreStatsTest.java index f0b7dc1..ef22dd9 100644 --- oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/FileStoreStatsTest.java +++ oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/FileStoreStatsTest.java @@ -71,8 +71,10 @@ public class FileStoreStatsTest { FileStore store = fileStoreBuilder(segmentFolder.newFolder()) .withStatisticsProvider(statsProvider) .build(); + + FileStoreStats stats = new FileStoreStats(statsProvider, store, 0); + try { - FileStoreStats stats = new FileStoreStats(statsProvider, store, 0); long initialSize = stats.getApproximateSize(); UUID id = UUID.randomUUID(); @@ -86,9 +88,12 @@ public class FileStoreStatsTest { } assertEquals(stats.getApproximateSize() - initialSize, file.length()); + } finally { store.close(); } + + assertEquals(1, stats.getJournalWriteStatsAsCount()); } }