@Test public void testReadFromOldStore() throws Exception { FeedbackStoreManager feedbackStoreManager = new FeedbackStoreManager(m_agentContext, "test"); long storeID = getStoreID(feedbackStoreManager); assertEquals(feedbackStoreManager.getHighestEventID(storeID), 0); feedbackStoreManager.write(1, new HashMap<String, String>()); assertEquals(feedbackStoreManager.getHighestEventID(storeID), 1); assertEquals(feedbackStoreManager.getEvents(storeID, 0, 1).size(), 1); feedbackStoreManager.forceCreateNewStore(); assertEquals(feedbackStoreManager.getEvents(storeID, 0, 1).size(), 1); }
@Test public void testReadWriteLogEvents() throws Exception { FeedbackStoreManager feedbackStoreManager = new FeedbackStoreManager(m_agentContext, "test"); long storeID = getStoreID(feedbackStoreManager); assertEquals(feedbackStoreManager.getHighestEventID(storeID), 0); feedbackStoreManager.write(1, new HashMap<String, String>()); assertEquals(feedbackStoreManager.getHighestEventID(storeID), 1); assertEquals(feedbackStoreManager.getEvents(storeID, 1, 1).size(), 1); }
@Test public void testLogfileRotation() throws Exception { int maxSize = 100 * 1024; FeedbackStoreManager feedbackStoreManager = new FeedbackStoreManager(m_agentContext, "test", maxSize, maxSize / 5); long storeID = getStoreID(feedbackStoreManager); int recordCount = 1000; assertEquals(feedbackStoreManager.getHighestEventID(storeID), 0); // absolutely exceed the set filesize for this store for (int i = 0; i < recordCount; i++) { HashMap<String, String> eventProps = new HashMap<>(); eventProps.put("key", "value" + i); feedbackStoreManager.write(i, eventProps); } File[] logFiles = getLogFiles(); assertTrue(logFiles.length > 1); // take the last 1000 events... List<Event> events = feedbackStoreManager.getEvents(storeID, 1, 1000); assertEquals(events.size(), 1000); long logFileSize = 0; for (File file : logFiles) { logFileSize += file.length(); } assertTrue(logFileSize < maxSize); }
List<Event> events = m_storeManager.getEvents(storeID, lowest, highestLocal > highest ? highest : highestLocal); if (events == null) {