Summary: 45 instances, 43 unique Text Count // TODO: can be more restrict 1 // TODO: validate that the directory component has no glob characters 1 * TODO: If a Truncate/Rename rotation happen while this method is running, 1 // TODO: The following two senders will produce duplicate records and need the tests need to be modified to handle those 3 // TODO: Add metrics? 1 // SANITYCHECK: TODO: Remove when done debugging. 1 // TODO: Skip empty records, commented records, header lines, etc... 1 // TODO: The following two senders will produce duplicate records and the tests need to be modified to handle those 1 // TODO: CWMetricsFactory does not wait for shutdown to 1 // TODO: Use Guava's ServiceManager 1 // TODO: Missing tests for tryTake and the case where the queue was full before the take/tryTake call was made 1 // TODO: time a buffer spends in the queue 1 // FIXME: what do we deal with the field that's missing? 1 * TODO: facility is currently omitted because it varies across platforms 1 // TODO: call #offer, #offerRecord, #offerForRetry and see that record 1 // TODO: Refactor into two classes: FileTailer and FileTailerService, similar to AsyncPublisher and AsyncPublisherService 1 // TODO: get latest checkpoint for this flow 1 // TODO: Remove when done debugging. 1 // TODO: support duplicate records when testing 1 * TODO: this might not be portable as we rely on inner representation of 1 // TODO: Instead of this plethora of abstract getters, consider using 1 // TODO: this does not handle globs in directory component: e.g. /opt/*/logs/app.log, /opt/**/app.log* 1 * TODO: Add tests for thread-safety of implementation. 1 // TODO: uncouple from FirehoseConstants 1 // TODO: wait on #take, then call #close() and see that 1 // TODO: Add metrics for bytes copied between buffers 1 // TODO: wait on #take, then call #offer and see that #take 1 * TODO: The edge case where the new file fills so quickly (within 1 second) 1 // TODO: wait on #take, then call #offerForRetry and see that 1 *
  • TODO: I.getContentHash() == C.getContentHash()
  • 1 // TODO: wait on #take(), then call #offerRecord() multiple times and 1 // TODO: 1 // TODO: Here would be the right place to compare file hashes 1 // TODO: Implement reference counting 1 * TODO: A future iteration could ensure that checkpoints are created in 1 // TODO: Add validation interval to following values 1 * TODO: Should we parametrize the line delimiter? 1 * TODO: For the cases where the oldest un-matched (Xn) is assumed to be the 1 * TODO: Limitation of this splitter is that it requires a newline at the end 1 // TODO: Should we adjust creation time and access as well time 1 * {@link #refresh()} is running. TODO: investigate ability to lock latest 1 * TODO: support functions like filtering/adding/removing fields. 1 * TODO: The heuristic has a weakness: even if file has same/increased size, 1