hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/AssignmentManager.java (28 lines): - line 119: // TODO: AMv2 - line 338: // TODO: this could lead to some orphan server state nodes, as it is possible that the - line 574: // TODO: handle multiple meta - line 579: // TODO: check for state? - line 586: // TODO: handle multiple meta. if the region provided is not meta lookup - line 591: // TODO: handle multiple meta. - line 638: // TODO: handle multiple meta. - line 683: // TODO: Fix this thread. If a server is killed and a new one started, this thread thinks that - line 699: // TODO: I don't think this code does a good job if all servers in cluster have same - line 703: // TODO: See HBASE-18494 and HBASE-18495. Though getExcludedServersForSystemTable() - line 1269: // TODO: at the moment we have a single error message and the RS will abort - line 1760: // TODO: Master load/bootstrap - line 1844: // cases where we need to probe more to be sure this correct; TODO informed by experience. - line 1863: // TODO: this could lead to some orphan server state nodes, as it is possible that the - line 1906: // TODO: use a thread pool - line 1930: // TODO: Metrics - line 1933: // TODO: Used by TestRegionPlacement.java and assume monotonically increasing value - line 2011: // TODO used by MasterRpcServices - line 2019: // TODO used by TestSplitTransactionOnCluster.java - line 2028: // TODO: UTILS/HELPERS? - line 2050: // TODO: Region State In Transition - line 2278: // TODO: here we just update the parent region info in meta, to set split and offline to true, - line 2340: // TODO: quick-start for meta and the other sys-tables? - line 2429: // TODO: Optimize balancer. pass a RegionPlan? - line 2444: // TODO: connect with the listener to invalidate the cache - line 2446: // TODO use events - line 2518: // TODO: Do we need to split retain and round-robin? - line 2590: // TODO: This should be a cached list kept by the ServerManager rather than calculated on each hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java (15 lines): - line 343: // TODO: account for each registered handler in HeapSize computation - line 891: // TODO: revisit if coprocessors should load in other cases - line 1492: // TODO Needs to check whether we should expose our metrics system to CPs. If CPs themselves doing - line 1984: // TODO HBASE-18906. Check the usage (if any) in Phoenix and expose this or give alternate way for - line 2536: // TODO HBASE-18905. We might have to expose a requestFlush API for CPs - line 2615: // TODO: this should be managed within memstore with the snapshot, updated only after flush - line 3962: // TODO: Currently validation is done with current time before acquiring locks and - line 3971: // FIXME: we may update metrics twice! here for all operations bypassed by CP and later in - line 4423: // TODO: can it be done after completing mvcc? - line 4542: // TODO: prepareDelete() has been called twice, before and after preDelete() CP hook. - line 4579: // TODO Support Increment/Append operations - line 5277: * working snapshot directory. TODO for api consistency, consider adding another version with no - line 6861: // TODO: some stores might see new data from flush, while others do not which - line 7091: // TODO: do we need to add a time component here? - line 7506: // TODO Need a better story for reverting partial failures due to HDFS. hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileBlock.java (15 lines): - line 111: * TODO: Should we cache the checksums? Down in Writer#getBlockForCaching(CacheConfig) where we make - line 117: * TODO: Over in BucketCache, we save a block allocation by doing a custom serialization. Be sure to - line 129: // TODO: encapsulate Header related logic in this inner class. - line 185: * TODO: Make this read-only once made. - line 308: * TODO: The caller presumes no checksumming - line 310: * TODO: HFile block writer can also off-heap ? - line 519: // TODO: ByteBuf does not support asReadOnlyBuffer(). Fix. - line 631: // TODO: cannot use our own fileContext here because HFileBlock(ByteBuffer, boolean), - line 849: // TODO: This should be lazily instantiated - line 852: // TODO: Set BAOS initial size. Use fileContext.getBlocksize() and add for header/checksum - line 858: // TODO: Why fileContext saved away when we have dataBlockEncoder and/or - line 1203: * TODO: Should there be an option where a cache can ask that hbase preserve block checksums for - line 1361: * TODO: Review. This overread into next block to fetch next blocks header seems unnecessary - line 1828: // TODO: is this check necessary or can we proceed with a provided value regardless of - line 2135: // TODO: Why is this in here? hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java (11 lines): - line 692: // TODO I'm pretty sure we could just add another binding to the InfoServer run by - line 973: // TODO: Do this using Dependency Injection, using PicoContainer, Guice or Spring. - line 1037: // TODO: TRSP can perform as the sub procedure for other procedures, so even if it is marked as - line 1051: // TODO: Generate the splitting and live Set in one pass instead of two as we currently do. - line 1470: // TODO: Add a page to refguide on how to do repair. Have this log message point to it. - line 2188: // TODO: bulk assign - line 2214: // TODO: After balance, there should not be a cutoff time (keeping it as - line 2396: // TODO: deal with table on master for rs group. - line 2437: // TODO: CompletableFuture rather than this stunted Future. - line 2475: // TODO: We can handle/merge duplicate requests, and differentiate the case of - line 2591: // TODO: We can handle/merge duplicate request hbase-server/src/main/java/org/apache/hadoop/hbase/util/HBaseFsck.java (7 lines): - line 986: // TODO Figure out what the special dirs are - line 1013: // TODO add test - line 1070: // TODO optimize by incrementally adding instead of reloading. - line 1219: * TODO -- need to add tests for this. - line 1232: * TODO -- need to add tests for this. - line 1762: // TODO: evaluate the consequence to continue the hbck operation without config. - line 2352: // TODO test. hbase-zookeeper/src/main/java/org/apache/hadoop/hbase/zookeeper/ZKWatcher.java (6 lines): - line 221: // TODO: Set node ACL for groups when ZK supports this feature - line 394: // TODO: Validate super group members also when ZK supports setting node ACL for groups. - line 423: // TODO: Validate super group members also when ZK supports setting node ACL for groups. - line 649: // TODO: One thought is to add call to ZKListener so say, - line 694: // TODO: Switch to a metric once server side ZK watcher metrics are implemented. This is a - line 705: * TODO: Currently this method rethrows the exception to let the caller handle hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java (6 lines): - line 833: // TODO: Copy!!! - line 1461: // TODO : Rename this and HMaster#checkInitialized to isRunning() (or a better name). - line 2420: // TODO: COPIES!!!!!! - line 2988: // TODO: this doesn't actually check anything. - line 2993: // TODO: this doesn't actually check anything. - line 3328: // arbitrary 32. TODO: keep record of general size of results being returned. hbase-server/src/main/java/org/apache/hadoop/hbase/wal/WALKeyImpl.java (6 lines): - line 53: // TODO: Key and WALEdit are never used separately, or in one-to-many relation, for practical - line 144: // TODO: Fix being able to pass in sequenceid. - line 150: // TODO: Fix being able to pass in sequenceid. - line 218: // TODO: Fix being able to pass in sequenceid. - line 238: // TODO: Fix being able to pass in sequenceid. - line 290: // TODO: Fix being able to pass in sequenceid. hbase-common/src/main/java/org/apache/hadoop/hbase/util/OrderedBytes.java (6 lines): - line 566: // TODO: can this be made faster? - line 639: // TODO: this can be done faster? - line 706: // TODO: this can be done faster - line 895: // TODO: should an encoded NULL value throw unexpectedHeader() instead? - line 932: // TODO: should an encoded NULL value throw unexpectedHeader() instead? - line 978: // TODO: is there no way to decode into dst directly? hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.java (6 lines): - line 682: // TODO: Split in two steps. - line 683: // TODO: Handle corrupted procedures (currently just a warn) - line 981: * If the procedure is in WAITING state, will set it to RUNNABLE add it to run queue. TODO: What - line 1149: // TODO: Do we need to take nonces here? - line 1680: // TODO: This needs doc. The root proc doesn't have an exception. Maybe we are - line 1885: // TODO: The code here doesn't check if store is running before persisting to the store as hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java (6 lines): - line 300: * Lock for gating access to {@link #onlineRegions}. TODO: If this map is gated by a lock, does it - line 479: * Replication-stream sink; see HBASE-18846 for more. TODO: can this replace - line 934: // TODO: Should we check they are alive? If OOME could have exited already - line 1582: // TODO: storefileIndexSizeKB is same with rootLevelIndexSizeKB? - line 1788: // TODO Replication make assumptions here based on the default filesystem impl - line 3551: // TODO: juggling class state with an instance variable, outside of a synchronized block :'( hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.java (5 lines): - line 203: * TODO left from {@link HFile} version 1: move this to StoreFile after Ryan's patch goes in to - line 214: * TODO left from {@link HFile} version 1: move this to StoreFile after Ryan's patch goes in to - line 720: // TODO: See https://issues.apache.org/jira/browse/HBASE-14576 - line 724: // TODO shortcut: seek forward in this block to the last key of the - line 794: // TODO : reduce the varieties of KV here. Check if based on a boolean hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/PermissionStorage.java (5 lines): - line 462: // TODO: Pass in a Connection rather than create one each time. - line 618: // TODO: avoid the string conversion to make this more efficient - line 778: // TODO: We have to re-write non-PB data as PB encoded. Otherwise we will carry old Writables - line 811: // TODO: We have to re-write non-PB data as PB encoded. Otherwise we will carry old Writables - line 882: // TODO: This can be improved. Don't build UsersAndPermissions just to unpack it again, hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java (5 lines): - line 190: // TODO: ideally, this should be part of storeFileManager, as we keep passing this to it. - line 469: // TODO: Why is this in here? The flushsize of the region rather than the store? St.Ack - line 1008: // TODO this used to get the store files in descending order, - line 1182: // TODO: change this to LOG.error() after more debugging - line 1448: // TODO: what are these reader checks all over the place? hbase-assembly/src/main/assembly/client.xml (5 lines): - line 81: - line 87: - line 90: - line 126: TODO we should check this in nightly - line 133: hbase-testing-util/src/main/java/org/apache/hadoop/hbase/HBaseTestingUtility.java (5 lines): - line 2478: // TODO: Redo using MetaTableAccessor class - line 2496: // TODO: Redo using MetaTableAccessor. - line 2504: // TODO figure out what to do for this new hosed case. - line 2857: * the connection is not valid anymore. TODO: There should be a more coherent way of doing this. - line 3322: // TODO: Here we start the move. The move can take a while. hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/store/wal/WALProcedureStore.java (5 lines): - line 79: * FIXME: notice that the current recover lease implementation is problematic, it can not deal with - line 91: * TODO: try using disruptor to increase performance and simplify the logic? - line 485: // TODO: sideline corrupted log - line 850: // update webui circular buffers (TODO: get rid of allocations) - line 1178: // TODO: In case we are holding up a lot of logs for long time we should hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.java (5 lines): - line 142: * TODO: Change this semantic. A roll of WAL may be sufficient as long as we have flagged client - line 144: * TODO: replication may pick up these last edits though they have been marked as failed append - line 592: // Register listeners. TODO: Should this exist anymore? We have CPs? - line 1057: // TODO: since for now we only have one thread doing log rolling, this may block the rolling for - line 1313: // TODO: WORK ON MAKING THIS APPEND FASTER. DOING WAY TOO MUCH WORK WITH CPs, PBing, etc. hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/TableSnapshotInputFormatImpl.java (5 lines): - line 71: // TODO: Snapshots files are owned in fs by the hbase user. There is no - line 184: // TODO: We can obtain the file sizes of the snapshot here. - line 200: // TODO: We should have ProtobufSerialization in Hadoop, and directly use PB objects instead of - line 305: return 0; // TODO: use total bytes to estimate - line 325: // TODO: mapred does not support scan as input API. Work around for now. hbase-common/src/main/java/org/apache/hadoop/hbase/CellComparatorImpl.java (4 lines): - line 125: // TODO: Is there a test for this behavior? - line 177: // TODO : Ensure we read the bytes and do the compare instead of the value. - line 208: // TODO: Is there a test for this behavior? - line 290: // TODO: Is there a test for this behavior? hbase-diagnostics/src/main/java/org/apache/hadoop/hbase/HFilePerformanceEvaluation.java (4 lines): - line 419: // TODO: Fix. Make Scanner do Cells. - line 447: // TODO: Fix scanner so it does Cells - line 474: // TODO: HFileScanner doesn't do Cells yet. Temporary fix. - line 512: // TODO: Fix. Make scanner do Cells. hbase-assembly-byo-hadoop/src/main/assembly/hadoop-three-compat.xml (4 lines): - line 79: - line 82: - line 118: TODO we should check this in nightly - line 125: hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/RegionStates.java (4 lines): - line 73: // TODO: Replace the ConcurrentSkipListMaps - line 235: // TODO: helpers - line 457: // TODO: - line 677: // TODO: Populated when we read meta but regions never make it out of here. hbase-client/src/main/java/org/apache/hadoop/hbase/shaded/protobuf/ProtobufUtil.java (4 lines): - line 238: @InterfaceAudience.Private // TODO: some clients (Hive, etc) use this class - line 706: // TODO: Server-side at least why do we convert back to the Client types? Why not just pb it? - line 1548: // TODO: Unit test that has some Cells in scanner and some in the proto. - line 2222: return "TODO: " + m.getClass().toString(); hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreFileWriter.java (4 lines): - line 253: // TODO: The StoreFileReader always converts the byte[] to TimeRange - line 528: // TODO : Change all writers to be specifically created for compaction context - line 669: // TODO: The StoreFileReader always converts the byte[] to TimeRange - line 719: // TODO : Change all writers to be specifically created for compaction context hbase-server/src/main/java/org/apache/hadoop/hbase/quotas/QuotaCache.java (4 lines): - line 61: * TODO: At the moment the Cache has a Chore that will be triggered every 5min or on cache-miss - line 112: // TODO: This will be replaced once we have the notification bus ready. - line 245: // TODO: Remove this once we have the notification bus - line 499: // TODO if use rs group, the cluster limit should be shared by the rs group hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java (4 lines): - line 1147: // TODO: currently, we query using the table name on the client side. this - line 1978: // TODO: this method is totally broken in terms of atomicity of actions and values read. - line 2693: // TODO: this doesn't handle MOB regions. Should it? See the public method #getRegionInfo - line 3267: // TODO: this can be done at once outside this loop, do not need to scan all every time. hbase-assembly/src/main/assembly/hadoop-three-compat.xml (4 lines): - line 80: - line 83: - line 119: TODO we should check this in nightly - line 126: hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HeapMemoryManager.java (4 lines): - line 78: // TODO : remove this and mark regionServerAccounting as the observer directly - line 306: // TODO check if we can increase the memory boundaries - line 373: // TODO can adjust the value so as not exceed 80%. Is that correct? may be. - line 392: // TODO : Set directly on RSAccounting?? hbase-shell/src/main/ruby/hbase/admin.rb (4 lines): - line 179: # TODO: remove older hlog_roll version - line 509: # TODO: add table options support - line 655: # TODO Maybe move this to a utility class in the future? - line 1593: # TODO: Keeping backward compatability for NORMALIZER_TARGET_REGION_SIZE with HBASE-25651 change. Can be removed in later version hbase-client/src/main/java/org/apache/hadoop/hbase/client/ColumnFamilyDescriptorBuilder.java (4 lines): - line 652: * a : TODO: make this private after the HCD is removed. - line 660: * Constructor. Makes a deep copy of the supplied descriptor. TODO: make this private after the - line 763: // TODO: Allow maxVersion of 0 to be the way you say "Keep all versions". - line 784: // TODO: Allow minVersion and maxVersion of 0 to be the way you say "Keep all versions". hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/SecureWALCellCodec.java (4 lines): - line 89: // TODO: An IV length of 0 could signify an unwrapped cell, when the - line 106: // TODO: Add support for WAL compression - line 186: // TODO: Check if this is a cell for an encrypted CF. If not, we can - line 193: // TODO: Add support for WAL compression hbase-common/src/main/java/org/apache/hadoop/hbase/HConstants.java (4 lines): - line 130: // TODO: Is having HBase homed on port 60k OK? - line 694: // TODO: although the following are referenced widely to format strings for - line 1336: // TODO moving these bucket cache implementation specific configs to this level is violation of - line 1478: // TODO: Move these defines to Canary Class hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/AccessController.java (4 lines): - line 178: // TODO: encapsulate observer functions into separate class/sub-class. - line 275: // TODO: Here we are already on the ACL region. (And it is single - line 461: // TODO: HBASE-7114 could possibly unify the collection type in family - line 879: // TODO: potentially check if this is a add/modify/delete column operation hbase-server/src/main/java/org/apache/hadoop/hbase/util/HbckTableInfo.java (3 lines): - line 255: // TODO properly use fixHoles - line 273: // TODO test - line 692: // TODO fold this into the TableIntegrityHandler hbase-server/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java (3 lines): - line 413: // TODO: ts can theoretically collide due to clock shifts, so this is a bit hacky. - line 914: // TODO: optimize the load balancer call so we don't need to make a new list - line 915: // TODO: FIX. THIS IS POPULAR CALL. hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/Procedure.java (3 lines): - line 436: * TODO: As any of the sub-procedures on failure rolls back all procedures in the stack, including - line 484: * TODO Enable later when this is being used. Currently owner not used. if (hasOwner()) { - line 842: // TODO: can this be inferred from the stack? I think so... hbase-server/src/main/java/org/apache/hadoop/hbase/wal/AbstractWALRoller.java (3 lines): - line 54: * TODO: change to a pool of threads - line 99: // TODO logs will contend with each other here, replace with e.g. DelayedQueue - line 268: // TODO add a status field of roll in RollController hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationSink.java (3 lines): - line 94: * TODO make this class more like ReplicationSource wrt log handling - line 296: // TODO Replicating mutations and bulk loaded data can be made parallel - line 444: * Simple helper to a map from key to (a list of) values TODO: Make a general utility method hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.java (3 lines): - line 385: // TODO: Add means of turning this off. Bit obnoxious running thread just to make a log - line 1578: // TODO: In 2.x line, this might need to be filled in to support reading the old format - line 1926: // TODO avoid a cycling siutation. We find no block which is not in use and so no way to free hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/ImportTsv.java (3 lines): - line 85: // TODO: the rest of these configs are used exclusively by TsvImporterMapper. - line 495: // TODO: this is backwards. Instead of depending on the existence of a table, - line 714: // TODO: validation for TsvImporterMapper, not this tool. Move elsewhere. hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/RSProcedureDispatcher.java (3 lines): - line 163: // TODO: Replace with a ServerNotOnlineException() - line 472: // TODO: In the future some operation may want to bail out early. - line 473: // TODO: How many times should we retry (use numberOfAttemptsSoFar) hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.java (3 lines): - line 167: // TODO: at the moment we only have Table and Server procedures - line 791: // TODO: If there are no create, we can drop all the other ops - line 1185: // TODO: Refactor so we stream out locks for case when millions; i.e. take a PrintWriter hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.java (3 lines): - line 723: // TODO check whether we can make BB backed Cell here? So can avoid bytes copy. - line 771: // TODO make KeyOnlyKeyValue to be Buffer backed and avoid array() call. This has to be - line 773: // TODO avoid array call. hbase-server/src/main/java/org/apache/hadoop/hbase/master/janitor/CatalogJanitor.java (3 lines): - line 73: // TODO: Only works with single hbase:meta region currently. Fix. - line 74: // TODO: Should it start over every time? Could it continue if runs into problem? Only if - line 76: // TODO: Do more by way of 'repair'; see note on unknownServers below. hbase-server/src/main/java/org/apache/hadoop/hbase/master/ClusterSchema.java (3 lines): - line 52: // TODO: Remove Server argument when MasterServices are passed. - line 53: // TODO: We return Future in the below from most methods. It may change to return - line 72: // TODO: Remove from here. Keep internal. This Interface is too high-level to host this accessor. hbase-server/src/main/java/org/apache/hadoop/hbase/security/visibility/VisibilityController.java (3 lines): - line 122: // TODO: break out Observer functions into separate class/sub-class. - line 288: // TODO this can be made as a global LRU cache at HRS level? - line 422: // TODO : See if HRegion.updateDeleteLatestVersionTimeStamp() could be hbase-balancer/src/main/java/org/apache/hadoop/hbase/master/balancer/BalancerClusterState.java (3 lines): - line 174: // TODO: We should get the list of tables from master - line 191: LOG.warn("TODO: Enable TRACE on BaseLoadBalancer. Empty servername); " - line 920: // TODO: this maybe costly. Consider using linked lists hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/CellBlockBuilder.java (3 lines): - line 76: // Guess that 16k is a good size for rpc buffer. Could go bigger. See the TODO below in - line 296: // TODO: This is ugly. The buffer will be resized on us if we guess wrong. - line 297: // TODO: Reuse buffers. hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/DeleteTableProcedure.java (3 lines): - line 103: // TODO: Move out... in the acquireLock() - line 165: // TODO: Current behavior is: with no rollback and no abort support, procedure may get stuck - line 177: // TODO: coprocessor rollback semantic is still undefined. hbase-common/src/main/java/org/apache/hadoop/hbase/io/encoding/RowIndexSeekerV1.java (3 lines): - line 369: // TODO : reduce the varieties of KV here. Check if based on a boolean - line 372: // TODO : getRow len here. - line 383: // TODO : getRow len here. hbase-shell/src/main/ruby/jar-bootstrap.rb (3 lines): - line 29: # TODO: Interrupt a table creation or a connection to a bad master. Currently - line 33: # TODO: Add support for listing and manipulating catalog tables, etc. - line 34: # TODO: Encoding; need to know how to go from ruby String to UTF-8 bytes hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MemStoreLABImpl.java (2 lines): - line 55: * TODO: we should probably benchmark whether word-aligning the allocations would provide a - line 239: // TODO : write the seqid here. For writing seqId we should create a new cell type so hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/KeyValueScanner.java (2 lines): - line 33: // TODO: Change name from KeyValueScanner to CellScanner only we already have a simple CellScanner - line 119: * Does the real seek operation in case it was skipped by seekToRowCol(KeyValue, boolean) (TODO: hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/ShutdownHook.java (2 lines): - line 231: // TODO Auto-generated method stub - line 237: // TODO Auto-generated method stub hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFile.java (2 lines): - line 114: * TODO: Do scanners need to be able to take a start and end row? TODO: Should BlockIndex know the - line 476: * Method returns the reader given the specified arguments. TODO This is a bad abstraction. See hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FuzzyRowFilter.java (2 lines): - line 514: // TODO: what about over/underflow? - line 541: // TODO: what about over/underflow? hbase-shell/src/main/ruby/hbase/security.rb (2 lines): - line 38: # TODO: need to validate user name - line 93: # TODO: need to validate user name hbase-balancer/src/main/java/org/apache/hadoop/hbase/master/balancer/StochasticLoadBalancer.java (2 lines): - line 705: // TODO: undo by remembering old values - line 801: // TODO: cost function may need a specific description hbase-common/src/main/java/org/apache/hadoop/hbase/types/OrderedNumeric.java (2 lines): - line 58: // TODO: this could be done better. - line 87: // TODO: other instances of Numeric to consider? hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mob/mapreduce/MobRefReporter.java (2 lines): - line 183: // TODO confirm there aren't tags - line 405: // TODO make family and table optional hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/LruAdaptiveBlockCache.java (2 lines): - line 426: // TODO: Add means of turning this off. Bit obnoxious running thread just to make a log - line 577: * TODO after HBASE-22005, we may cache an block which allocated from off-heap, but our LRU cache hbase-server/src/main/java/org/apache/hadoop/hbase/master/RegionPlacementMaintainer.java (2 lines): - line 72: // TODO: Remove? Unused. Partially implemented only. - line 454: // TODO: maybe run the placement in parallel for each table hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.java (2 lines): - line 602: // TODO: Clean up split and merge. Currently all over the place. - line 610: // TODO: why is this here? split requests can be submitted by actors other than the normalizer hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.java (2 lines): - line 542: // TODO: Clean up split and merge. Currently all over the place. - line 549: // TODO: why is this here? merge requests can be submitted by actors other than the normalizer hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/WALInputFormat.java (2 lines): - line 97: // TODO: Find the data node with the most blocks for this WAL? - line 369: // TODO: These results should be sorted? Results could be content of recovered.edits directory hbase-server/src/main/java/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.java (2 lines): - line 194: // TODO: just as the Apache HBase 1.x implementation, this map would not survive master - line 856: * @param handler handler the master should use TODO get rid of this if possible, repackaging, hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.java (2 lines): - line 37: // TODO: metrics - line 226: // TODO: Metrics hbase-server/src/main/java/org/apache/hadoop/hbase/master/normalizer/RegionNormalizerManager.java (2 lines): - line 138: // TODO: this appears to be used only for testing. - line 149: // TODO: this appears to be used only for testing. hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/BlockingRpcConnection.java (2 lines): - line 471: // TODO: find a way to reconnect without failing all the pending calls, for now, when we - line 480: // TODO: just change the preamble and skip the fallback to simple logic, for now, just hbase-server/src/main/java/org/apache/hadoop/hbase/master/SplitLogManager.java (2 lines): - line 243: // TODO If the log file is still being written to - which is most likely - line 612: // manager will be indefinitely creating RESCAN nodes. TODO may be the hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/GCRegionProcedure.java (2 lines): - line 110: // TODO: Purge metadata before removing from HDFS? This ordering is copied - line 129: // TODO: This is going to spew log? Add retry backoff hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/NettyRpcConnection.java (2 lines): - line 306: // TODO: find a way to reconnect without failing all the pending calls, for now, when we - line 315: // TODO: just change the preamble and skip the fallback to simple logic, for now, just hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/store/wal/BitSetNode.java (2 lines): - line 207: // TODO: cache the value - line 237: // TODO: cache the value hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/RegionStateStore.java (2 lines): - line 211: // currently; they want a server to hit. TODO: Make clients wait if no location. - line 291: // TODO: Revist!!!! Means that if a server is loaded, then we will abort our host! hbase-server/src/main/java/org/apache/hadoop/hbase/util/FSTableDescriptors.java (2 lines): - line 198: // TODO We used to set CacheDataInL1 for META table. When we have BucketCache in file mode, now - line 335: // TODO: in fact this method will only be called at master side, so fsreadonly and usecache will hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationMarkerChore.java (2 lines): - line 86: // TODO: We need to add support for multi WAL implementation. - line 116: // TODO: Should we stop region server or add a metric and keep going. hbase-diagnostics/src/main/java/org/apache/hadoop/hbase/util/LoadTestTool.java (2 lines): - line 235: // TODO: refactor LoadTestToolImpl somewhere to make the usage from tests less bad, - line 729: // TODO : currently append and increment operations not tested with tags hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/DefaultMemStore.java (2 lines): - line 49: * TODO: Adjust size of the memstore when we remove items because they have been deleted. TODO: With - line 211: // TODO: x32 vs x64 hbase-zookeeper/src/main/java/org/apache/hadoop/hbase/zookeeper/MasterAddressTracker.java (2 lines): - line 175: // TODO javadoc claims we return null in this case. :/ - line 204: // TODO javadoc claims we return null in this case. :/ hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/RpcServer.java (2 lines): - line 229: * TODO try to figure out a better way and remove reference from regionserver package later. - line 451: // TODO: Review after we add in encoded data blocks. hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/ServerRpcConnection.java (2 lines): - line 185: // TODO: Plug in other supported decoders. - line 793: // TODO this is a wart while simple auth'n doesn't go through sasl. hbase-client/src/main/java/org/apache/hadoop/hbase/client/Operation.java (2 lines): - line 31: // TODO make this configurable - line 32: // TODO Do we need this anymore now we have protobuffed it all? hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/Region.java (2 lines): - line 224: // TODO Exposing this and closeRegionOperation() as we have getRowLock() exposed. - line 527: // TODO Should not be exposing with params nonceGroup, nonce. Change when doing the jira for hbase-common/src/main/java/org/apache/hadoop/hbase/ExtendedCell.java (2 lines): - line 46: // TODO remove the boolean param once HBASE-16706 is done. - line 83: // TODO remove the boolean param once HBASE-16706 is done. hbase-balancer/src/main/java/org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.java (2 lines): - line 179: * servers holding floor(avg) or ceiling(avg). TODO: Use block locations from HDFS to place - line 197: // TODO: instead of retainAssignment() and roundRobinAssignment(), we should just run the hbase-server/src/main/java/org/apache/hadoop/hbase/procedure/ZKProcedureCoordinator.java (2 lines): - line 203: // TODO Nothing enforces that acquire and reached znodes from showing up in wrong order. - line 250: * This is the abort message being sent by the coordinator to member TODO this code isn't actually hbase-client/src/main/java/org/apache/hadoop/hbase/exceptions/RegionMovedException.java (2 lines): - line 86: // TODO: this whole thing is extremely brittle. - line 104: // TODO: deserialization above depends on this. That is bad, but also means this hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/SplitLogWorker.java (2 lines): - line 181: // TODO have to correctly figure out when log splitting has been - line 256: worker.interrupt(); // TODO interrupt often gets swallowed, do what else? hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/AnnotationReadingPriorityFunction.java (2 lines): - line 37: // TODO: Remove. This is doing way too much work just to figure a priority. Do as Elliott - line 76: // TODO: Get rid of this check. For now, workaround is to capitalize the names we got from hbase-server/src/main/java/org/apache/hadoop/hbase/wal/WALFactory.java (2 lines): - line 142: /* TODO Both of these are probably specific to the fs wal provider */ - line 245: /* TODO Both of these are probably specific to the fs wal provider */ hbase-client/src/main/java/org/apache/hadoop/hbase/client/Mutation.java (2 lines): - line 96: // TODO: row should be final - line 697: // TODO: It is fraught with risk if user pass the wrong row. hbase-diagnostics/src/main/java/org/apache/hadoop/hbase/PerformanceEvaluation.java (2 lines): - line 150: // TODO : should we make this configurable - line 3174: // Process command-line args. TODO: Better cmd-line processing hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/CoprocessorRpcUtils.java (2 lines): - line 124: // TODO: COPY FROM SHADED TO NON_SHADED. DO I HAVE TOO? - line 151: // TODO: UGLY COPY IN HERE!!!! hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/TruncateTableProcedure.java (2 lines): - line 86: // TODO: Move out... in the acquireLock() - line 166: // TODO: coprocessor rollback semantic is still undefined. hbase-balancer/src/main/java/org/apache/hadoop/hbase/favored/FavoredNodeAssignmentHelper.java (2 lines): - line 146: // TODO: See above overrides take a Connection rather than a Configuration only the - line 482: * another. The aim is two distribute the three favored nodes on >= 2 racks. TODO: see how we can hbase-client/src/main/java/org/apache/hadoop/hbase/client/RegionInfoBuilder.java (2 lines): - line 31: // TODO: Move NO_HASH to HStoreFile which is really the only place it is used. - line 43: // TODO: How come Meta regions still do not have encoded region names? Fix. hbase-server/src/main/java/org/apache/hadoop/hbase/security/visibility/DefaultVisibilityLabelServiceImpl.java (2 lines): - line 123: * instance? This is cheating presuming we have access to the RS ZKW. TODO: Fix. And what is - line 451: // TODO we should add the delta only to zk. Else this will be a very heavy op and when there are hbase-balancer/src/main/java/org/apache/hadoop/hbase/master/balancer/SimpleLoadBalancer.java (2 lines): - line 246: * TODO: We can at-most reassign the number of regions away from a particular server to be how - line 283: // TODO: Look at data block locality or a more complex load to do this hbase-server/src/main/java/org/apache/hadoop/hbase/util/FSUtils.java (2 lines): - line 113: // currently only used in testing. TODO refactor into a test class - line 776: // TODO move this method OUT of FSUtils. No dependencies to HMaster hbase-client/src/main/java/org/apache/hadoop/hbase/client/Get.java (2 lines): - line 463: // TODO: This is wrong. Can't have two gets the same just because on same row. But it - line 477: // TODO: This is wrong. Can't have two gets the same just because on same row. hbase-server/src/main/java/org/apache/hadoop/hbase/tool/BulkLoadHFilesTool.java (2 lines): - line 496: // TODO Implement bulk load recovery - line 708: // TODO what if this is due to a bad HFile? hbase-common/src/main/java/org/apache/hadoop/hbase/io/encoding/BufferedDataBlockEncoder.java (2 lines): - line 51: * TODO: This datablockencoder is dealing in internals of hfileblocks. Purge reference to HFBs - line 1156: // TODO use a writeVLong which returns the #bytes written so that 2 time parsing can be hbase-server/src/main/java/org/apache/hadoop/hbase/mob/MobUtils.java (2 lines): - line 177: // TODO ByteBuffer handling in tags looks busted. revisit. - line 817: // TODO avoid turning the tablename pieces in to strings. hbase-server/src/main/java/org/apache/hadoop/hbase/wal/WALSplitter.java (2 lines): - line 462: // TODO should we ignore an empty, not-last log file if skip.errors - line 465: // TODO is this scenario still possible if the log has been hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/LruBlockCache.java (2 lines): - line 334: // TODO: Add means of turning this off. Bit obnoxious running thread just to make a log - line 471: * TODO after HBASE-22005, we may cache an block which allocated from off-heap, but our LRU cache hbase-server/src/main/java/org/apache/hadoop/hbase/quotas/RateLimiter.java (1 line): - line 221: // TODO Handle over quota? hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFilePrettyPrinter.java (1 line): - line 341: * TODO: this same/similar block iteration logic is used in HFileBlock#blockRange and hbase-common/src/main/java/org/apache/hadoop/hbase/util/RowColBloomHashKey.java (1 line): - line 73: // TODO : check if ts and type can be removed hbase-client/src/main/java/org/apache/hadoop/hbase/client/trace/TableOperationSpanBuilder.java (1 line): - line 167: // TODO: what about clients embedded in Master/RegionServer/Gateways/&c? hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/master/MetricsAssignmentManagerSource.java (1 line): - line 164: * TODO: Remove. This may not be needed now as assign and unassign counts are tracked separately hbase-client/src/main/java/org/apache/hadoop/hbase/RegionMetrics.java (1 line): - line 72: * TODO: why we pass the same value to different counters? Currently, the value from hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/bucket/BucketProtoUtils.java (1 line): - line 171: // TODO:We use ByteBuffAllocator.HEAP here, because we could not get the ByteBuffAllocator hbase-common/src/main/java/org/apache/hadoop/hbase/filter/ByteArrayComparable.java (1 line): - line 28: // TODO Now we are deviating a lot from the actual Comparable that this implements, by hbase-backup/src/main/java/org/apache/hadoop/hbase/backup/impl/BackupAdminImpl.java (1 line): - line 611: // TODO run job on remote cluster hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.java (1 line): - line 406: // TODO: use empty initial offsets for now, revisit when adding support for sync replication hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/AccessControlFilter.java (1 line): - line 38: * TODO: There is room for further performance optimization here. Calling AuthManager.authorize() hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/handler/UnassignRegionHandler.java (1 line): - line 62: // TODO: not used yet, we still use the old CloseRegionHandler when aborting hbase-server/src/main/java/org/apache/hadoop/hbase/master/replication/ClaimReplicationQueuesProcedure.java (1 line): - line 108: // TODO: the implementation is not enough yet, if there are retries, we need to know whether hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FilterBase.java (1 line): - line 32: @InterfaceAudience.Private // TODO add filter limited private level hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/ProcedureYieldException.java (1 line): - line 27: * TODO: need to support scheduling after a delay. hbase-server/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupAdminServiceImpl.java (1 line): - line 318: // TODO: this can be done at once outside this loop, do not need to scan all every time. hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/compactions/StripeCompactionPolicy.java (1 line): - line 104: // TODO: first cut - no parallel compactions. To have more fine grained control we hbase-server/src/main/java/org/apache/hadoop/hbase/master/snapshot/EnabledTableSnapshotHandler.java (1 line): - line 64: // TODO consider switching over to using regionnames, rather than server names. This would allow hbase-balancer/src/main/java/org/apache/hadoop/hbase/master/balancer/AssignRegionAction.java (1 line): - line 48: // TODO implement this. This action is not being used by the StochasticLB for now hbase-server/src/main/java/org/apache/hadoop/hbase/security/token/TokenProvider.java (1 line): - line 68: * TODO: FIX. hbase-server/src/main/java/org/apache/hadoop/hbase/security/visibility/VisibilityScanDeleteTracker.java (1 line): - line 65: // TODO : Need to handle puts with same ts but different vis tags. hbase-client/src/main/java/org/apache/hadoop/hbase/DoNotRetryIOException.java (1 line): - line 28: // TODO: This would be more useful as a marker interface than as a class. hbase-server/src/main/java/org/apache/hadoop/hbase/namequeues/WALEventTrackerTableAccessor.java (1 line): - line 109: // TODO Do we need to SKIP_WAL ? hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/DeleteNamespaceProcedure.java (1 line): - line 114: // TODO: coprocessor rollback semantic is still undefined. hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MemStoreFlusher.java (1 line): - line 333: // TODO : If we want to decide based on heap over head it can be done without tracking hbase-server/src/main/java/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.java (1 line): - line 519: // TODO: Add namespace, replicat_all flag back hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/CreateTableProcedure.java (1 line): - line 174: // TODO: coprocessor rollback semantic is still undefined. hbase-server/src/main/java/org/apache/hadoop/hbase/master/replication/RecoverStandbyProcedure.java (1 line): - line 95: // TODO: dispatch wals by region server when serial is true and sort wals hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/handler/CloseRegionHandler.java (1 line): - line 100: // TODO: do better than a simple warning hbase-server/src/main/java/org/apache/hadoop/hbase/HBaseServerBase.java (1 line): - line 443: // TODO: cancel will not cleanup the chores, so we need make sure we do not miss any hbase-common/src/main/java/org/apache/hadoop/hbase/types/OrderedString.java (1 line): - line 52: // TODO: use of UTF8 here is a leaky abstraction. hbase-server/src/main/java/org/apache/hadoop/hbase/mob/DefaultMobStoreFlusher.java (1 line): - line 120: // TODO: We can fail in the below block before we complete adding this flush to hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/RootProcedureState.java (1 line): - line 61: // TODO: the rollback logic is a bit complicated, so here we will only test whether the root hbase-server/src/main/java/org/apache/hadoop/hbase/wal/WALSplitUtil.java (1 line): - line 359: // TODO: Why are we using a method in here as part of our normal region open where hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.java (1 line): - line 294: // TODO: coprocessor rollback semantic is still undefined. hbase-common/src/main/java/org/apache/hadoop/hbase/codec/BaseEncoder.java (1 line): - line 27: * TODO javadoc hbase-protocol-shaded/src/main/protobuf/server/Snapshot.proto (1 line): - line 75: // TODO: Add checksums or other fields to verify the file hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/MultiTableSnapshotInputFormatImpl.java (1 line): - line 215: // TODO: restore from record readers to parallelize. hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/AbstractRpcClient.java (1 line): - line 577: // TODO: Ideally we should not use an RpcController other than HBaseRpcController at client hbase-common/src/main/java/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.java (1 line): - line 301: // TODO : See if we can avoid these reads as the read values are not getting used hbase-client/src/main/java/org/apache/hadoop/hbase/filter/Filter.java (1 line): - line 202: * TODO: JAVADOC Concrete implementers can signal a failure condition in their code by throwing an hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/Import.java (1 line): - line 412: // TODO: This is kind of ugly doing setup of ZKW just to read the clusterid. hbase-client/src/main/java/org/apache/hadoop/hbase/client/TableDescriptor.java (1 line): - line 138: // TODO: Currently this is used RPC scheduling only. Make it more generic than this; allow it hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/DefaultStoreFileManager.java (1 line): - line 202: // TODO: move this comment when implementing Level: hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/handler/RegionReplicaFlushHandler.java (1 line): - line 131: // TODO: flushRegion() is a blocking call waiting for the flush to complete. Ideally we hbase-common/src/main/java/org/apache/hadoop/hbase/types/TerminatedWrapper.java (1 line): - line 153: // TODO: should we assert that b.position == b.length? hbase-protocol-shaded/src/main/protobuf/server/region/WAL.proto (1 line): - line 106: required bytes table_name = 1; // TODO: WALKey already stores these, might remove hbase-examples/src/main/ruby/DemoClient.rb (1 line): - line 24: # TODO: fix rb/php/py examples to actually work, similar to HBASE-3630. hbase-server/src/main/java/org/apache/hadoop/hbase/RegionStateListener.java (1 line): - line 29: // TODO: Get rid of this!!!! Ain't there a better way to watch region hbase-common/src/main/java/org/apache/hadoop/hbase/ArrayBackedTag.java (1 line): - line 31: private final byte type;// TODO extra type state needed? hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/compactions/DateTieredCompactionPolicy.java (1 line): - line 122: // TODO: Use better method for determining stamp of last major (HBASE-2990) hbase-server/src/main/java/org/apache/hadoop/hbase/master/http/MasterRedirectServlet.java (1 line): - line 76: // TODO: this scheme should come from looking at the scheme registered in the infoserver's http hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/CreateNamespaceProcedure.java (1 line): - line 105: // TODO: coprocessor rollback semantic is still undefined. hbase-server/src/main/java/org/apache/hadoop/hbase/Server.java (1 line): - line 87: // TODO: Distinguish between "dataFs" and "walFs". hbase-client/src/main/java/org/apache/hadoop/hbase/client/TableDescriptorBuilder.java (1 line): - line 172: // TODO: Keeping backward compatability with HBASE-25651 change. Can be removed in later version hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/store/wal/ProcedureStoreTracker.java (1 line): - line 171: // TODO: RESET if (map.size() == 1) hbase-common/src/main/java/org/apache/hadoop/hbase/codec/CellCodec.java (1 line): - line 68: // TODO add BB backed os check and do for write. Pass Cell hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FilterListWithAND.java (1 line): - line 253: // TODO HBASE-28633 in the normal code path, filterAllRemaining() always gets checked hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/WALUtil.java (1 line): - line 164: // TODO: Pass in current time to use? hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StorefileRefresherChore.java (1 line): - line 104: // TODO: some stores might see new data from flush, while others do not which hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/RWQueueRpcExecutor.java (1 line): - line 210: // TODO: Is there a better way to do this? hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/TwoPhaseProcedure.java (1 line): - line 26: // TODO (e.g. used by ACLs/VisibilityTags updates) hbase-server/src/main/java/org/apache/hadoop/hbase/util/ConfigurationUtil.java (1 line): - line 36: // TODO: hopefully this is a good delimiter; it's not in the base64 alphabet, hbase-backup/src/main/java/org/apache/hadoop/hbase/backup/mapreduce/MapReduceBackupMergeJob.java (1 line): - line 84: // TODO : run player on remote cluster hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/ModifyNamespaceProcedure.java (1 line): - line 101: // TODO: coprocessor rollback semantic is still undefined. hbase-common/src/main/java/org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.java (1 line): - line 337: // TODO : See if we can avoid these reads as the read values are not getting used hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/MultiRowResultReader.java (1 line): - line 71: // TODO this is copied from RowResultGenerator, but we probably shouldn't swallow hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreConfigInformation.java (1 line): - line 33: // TODO: Why is this in here? It should be in Store and it should return the Store flush size, hbase-zookeeper/src/main/java/org/apache/hadoop/hbase/zookeeper/MetaTableLocator.java (1 line): - line 46: * TODO: rewrite using RPC calls to master to find out about hbase:meta. hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/SequenceIdAccounting.java (1 line): - line 346: // TODO: if we have no oldStoreSeqNum, and WAL is not disabled, presumably either hbase-server/src/main/java/org/apache/hadoop/hbase/master/http/api_v1/ResourceConfigFactory.java (1 line): - line 44: // TODO: anything registered here that does not have necessary bindings won't inject properly hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/SyncReplicationPeerMappingManager.java (1 line): - line 29: * TODO: now only support include table options. hbase-client/src/main/java/org/apache/hadoop/hbase/client/MetricsConnection.java (1 line): - line 564: // TODO: instance pool to reduce GC? hbase-common/src/main/java/org/apache/hadoop/hbase/HBaseInterfaceAudience.java (1 line): - line 22: // TODO move this to hbase-annotations non-test-jar hbase-server/src/main/java/org/apache/hadoop/hbase/master/normalizer/RegionNormalizerFactory.java (1 line): - line 41: // TODO: consolidate this down to MasterServices hbase-client/src/main/java/org/apache/hadoop/hbase/client/ClientInternalHelper.java (1 line): - line 32: * TODO: A better solution is to separate the data structures used in client and server. hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/OnePhaseProcedure.java (1 line): - line 26: // TODO (e.g. used by online snapshots) hbase-zookeeper/src/main/java/org/apache/hadoop/hbase/zookeeper/MiniZooKeeperCluster.java (1 line): - line 49: * TODO: Most of the code in this class is ripped from ZooKeeper tests. Instead of redoing it, we hbase-common/src/main/java/org/apache/hadoop/hbase/trace/HBaseSemanticAttributes.java (1 line): - line 115: // TODO: promote this to the FSReader#readBlockData API. Or somehow instead use Scan.ReadType. hbase-server/src/main/java/org/apache/hadoop/hbase/master/http/api_v1/cluster_metrics/resource/ClusterMetricsResource.java (1 line): - line 46: // TODO: using the async client API lends itself well to using the JAX-RS 2.0 Spec's asynchronous hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/LogRoller.java (1 line): - line 31: * than the Chore sleep time which is invariant. TODO: change to a pool of threads hbase-server/src/main/java/org/apache/hadoop/hbase/master/http/MetaBrowser.java (1 line): - line 211: // TODO: handle replicas that fall between the last rowkey and pagination limit. hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/FSHLog.java (1 line): - line 71: // TODO: Handlers need to coordinate appending AND syncing. Can we have the threads contend hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.java (1 line): - line 380: // TODO: For Matteo. Below BLOCKs!!!! Redo so can relinquish executor while it is running. hbase-backup/src/main/java/org/apache/hadoop/hbase/backup/master/LogRollMasterProcedureManager.java (1 line): - line 162: // TODO: what permissions checks are needed here? hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/RpcControllerFactory.java (1 line): - line 53: // TODO: Set HConstants default rpc timeout here rather than nothing? hbase-server/src/main/java/org/apache/hadoop/hbase/util/SortedList.java (1 line): - line 47: justification = "TODO: synchronization in here needs review!!!") hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncConnectionImpl.java (1 line): - line 168: // TODO: this maybe a blocking operation, better to create it outside the constructor and pass hbase-client/src/main/java/org/apache/hadoop/hbase/client/trace/IpcClientSpanBuilder.java (1 line): - line 74: // TODO: what about clients embedded in Master/RegionServer/Gateways/&c? hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/RestoreSnapshotProcedure.java (1 line): - line 243: // TODO: We may be able to abort if the procedure is not started yet. hbase-server/src/main/java/org/apache/hadoop/hbase/security/token/AuthenticationTokenSecretManager.java (1 line): - line 83: * TODO: Restrict access to this constructor to make rogues instances more difficult. For the hbase-server/src/main/java/org/apache/hadoop/hbase/replication/ReplicationBarrierFamilyFormat.java (1 line): - line 203: // TODO: we may look up a region which has already been split or merged so we need to check hbase-common/src/main/java/org/apache/hadoop/hbase/CellUtil.java (1 line): - line 659: // TODO: pretty print tags as well hbase-server/src/main/java/org/apache/hadoop/hbase/quotas/RegionSizeStoreImpl.java (1 line): - line 40: // TODO Have RegionInfo implement HeapSize. 100B is an approximation based on a heapdump. hbase-common/src/main/java/org/apache/hadoop/hbase/io/encoding/DataBlockEncoder.java (1 line): - line 43: // TODO: This Interface should be deprecated and replaced. It presumes hfile and carnal knowledge hbase-server/src/main/java/org/apache/hadoop/hbase/snapshot/RestoreSnapshotHelper.java (1 line): - line 907: RestoreMetaChanges metaChanges = helper.restoreHdfsRegions(); // TODO: parallelize. hbase-client/src/main/java/org/apache/hadoop/hbase/zookeeper/ZNodePaths.java (1 line): - line 35: // TODO: Replace this with ZooKeeper constant when ZOOKEEPER-277 is resolved. hbase-common/src/main/java/org/apache/hadoop/hbase/PrivateCellUtil.java (1 line): - line 1193: * @return an int based on the given column hint TODO : To be moved out of here because this is a hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreUtils.java (1 line): - line 67: // TODO: make sure that we won't pass null here in the future. hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/TransitRegionStateProcedure.java (1 line): - line 203: // TODO: maybe we should make another type here, REGION_TRANSITION? hbase-common/src/main/java/org/apache/hadoop/hbase/nio/SingleByteBuff.java (1 line): - line 235: // TODO we can do some optimization here? Call to asSubByteBuffer might hbase-shell/src/main/ruby/shell.rb (1 line): - line 499: # TODO: remove older hlog_roll command hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.java (1 line): - line 206: // FIXME check relationship between wal group and overall hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/querymatcher/ScanQueryMatcher.java (1 line): - line 283: // TODO: Current way disable us to seek to next column quickly. Is there any better solution? hbase-it/src/main/java/org/apache/hadoop/hbase/chaos/ChaosAgent.java (1 line): - line 540: // TODO: Considering Agent is running with same user. hbase-client/src/main/java/org/apache/hadoop/hbase/client/RpcConnectionRegistryURIFactory.java (1 line): - line 56: // TODO: add more check about the bootstrap nodes hbase-server/src/main/java/org/apache/hadoop/hbase/master/http/hbck/HbckConfigFactory.java (1 line): - line 39: // TODO: anything registered here that does not have necessary bindings won't inject properly hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.java (1 line): - line 485: // TODO deal with viewFS hbase-server/src/main/java/org/apache/hadoop/hbase/master/janitor/CatalogJanitorReport.java (1 line): - line 50: * TODO: If CatalogJanitor finds an 'Unknown Server', it should 'fix' it by queuing a hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/CacheConfig.java (1 line): - line 380: * TODO: today {@code family.isBlockCacheEnabled()} only means {@code cacheDataOnRead}, so here we hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MutableSegment.java (1 line): - line 91: // TODO when the removed cell ie.'cur' having its data in MSLAB, we can not release that hbase-server/src/main/java/org/apache/hadoop/hbase/util/BloomFilterChunk.java (1 line): - line 221: // TODO access this via Util API which can do Unsafe access if possible(?) hbase-client/src/main/java/org/apache/hadoop/hbase/quotas/RpcThrottlingException.java (1 line): - line 26: * Describe the throttling result. TODO: At some point this will be handled on the client side to hbase-server/src/main/java/org/apache/hadoop/hbase/tool/CanaryTool.java (1 line): - line 565: // TODO : In future, we can streamline Canary behaviour for all the regions by doing scan hbase-server/src/main/java/org/apache/hadoop/hbase/quotas/MasterQuotaManager.java (1 line): - line 68: * provide the admin operations to interact with the quota table. TODO: FUTURE: The master will be hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/compactions/RatioBasedCompactionPolicy.java (1 line): - line 62: // TODO: Use better method for determining stamp of last major (HBASE-2990) hbase-endpoint/src/main/java/org/apache/hadoop/hbase/client/coprocessor/AggregationClient.java (1 line): - line 80: // TODO: This class is not used. Move to examples? hbase-client/src/main/java/org/apache/hadoop/hbase/client/RegionInfo.java (1 line): - line 321: // If not parseable as region name, presume encoded. TODO: add stringency; e.g. if hex. hbase-server/src/main/java/org/apache/hadoop/hbase/quotas/QuotaLimiterFactory.java (1 line): - line 37: throw new UnsupportedOperationException("TODO not implemented yet"); hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/GCMultipleMergedRegionsProcedure.java (1 line): - line 122: // TODO: This is going to spew log? hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/TableResource.java (1 line): - line 122: // FIXME handle binary rowkeys (like put and delete does) hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.java (1 line): - line 99: // TODO: Remove this method, ObserverContext should not depend on RpcServer hbase-asyncfs/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutput.java (1 line): - line 454: // TODO: we should perhaps measure time taken per DN here; hbase-server/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupBasedLoadBalancer.java (1 line): - line 278: * TODO: consider using HashSet to pursue O(1) for contains() throughout the calling chain if hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.java (1 line): - line 484: // TODO: maybe we can reuse AdminRequestCallerBuild, MasterRequestCallerBuild etc. hbase-server/src/main/java/org/apache/hadoop/hbase/master/replication/OfflineTableReplicationQueueStorage.java (1 line): - line 74: // TODO: we consider that the there will not be too many regions for hbase:replication table, so hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/ServerRpcController.java (1 line): - line 56: // TODO: it would be good widen this to just Throwable, but IOException is what we allow now hbase-server/src/main/java/org/apache/hadoop/hbase/replication/ReplicationEndpoint.java (1 line): - line 49: // TODO: This class needs doc. Has a Context and a ReplicationContext. Then has #start, #stop. hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileInfo.java (1 line): - line 304: // TODO: Am I leaking anything here wrapping the passed in stream? We are not calling hbase-common/src/main/java/org/apache/hadoop/hbase/ExtendedCellBuilder.java (1 line): - line 26: * instance. TODO: ditto for ByteBufferExtendedCell? hbase-common/src/main/java/org/apache/hadoop/hbase/util/Bytes.java (1 line): - line 300: // TODO: unfortunately, HBase uses byte[0] as both start and end keys for region hbase-common/src/main/java/org/apache/hadoop/hbase/ScheduledChore.java (1 line): - line 152: // TODO: Histogram metrics per chore name. hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/snapshot/RegionServerSnapshotManager.java (1 line): - line 347: // TODO Ideally we'd interrupt hbase threads when we cancel. However it seems that there hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/CompletedProcedureCleaner.java (1 line): - line 113: // TODO: Select TTL based on Procedure type hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/bucket/BucketAllocator.java (1 line): - line 294: // TODO Support the view of block size distribution statistics hbase-common/src/main/java/org/apache/hadoop/hbase/io/hfile/trace/HFileContextAttributesBuilderConsumer.java (1 line): - line 80: // TODO: this is not a part of the HFileBlock, its context of the operation. Should track this hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterWalManager.java (1 line): - line 76: // TODO: Rename it, since those metrics are split-manager related hbase-common/src/main/java/org/apache/hadoop/hbase/CompoundConfiguration.java (1 line): - line 311: // TODO: This method overestimates the number of configuration settings -- if a value is masked hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/bucket/SharedMemoryMmapIOEngine.java (1 line): - line 38: // TODO this will support only one path over Pmem. To make use of multiple Pmem devices mounted, hbase-server/src/main/java/org/apache/hadoop/hbase/master/snapshot/DisabledTableSnapshotHandler.java (1 line): - line 69: // TODO consider parallelizing these operations since they are independent. Right now its just hbase-shell/src/main/ruby/hbase/quotas.rb (1 line): - line 105: # TODO: Setting specified region server quota isn't supported currently and using 'all' for all RS hbase-common/src/main/java/org/apache/hadoop/hbase/KeyValueUtil.java (1 line): - line 125: // TODO we could probably use Cell#getSerializedSize safely, the errors were hbase-server/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupInfoManagerImpl.java (1 line): - line 967: // robust. See TODO below. hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RegionServerAccounting.java (1 line): - line 68: // TODO When to get rid of the deprecated config? ie hbase-common/src/main/java/org/apache/hadoop/hbase/KeyValue.java (1 line): - line 1561: * Avoids redundant comparisons for better performance. TODO get rid of this wart hbase-server/src/main/java/org/apache/hadoop/hbase/wal/WALEdit.java (1 line): - line 77: // TODO: Get rid of this system of special 'meta' Cells. See HBASE-8457. It suggests hbase-shell/src/main/ruby/shell/commands/wal_roll.rb (1 line): - line 37: # TODO: remove old HLog version hbase-server/src/main/java/org/apache/hadoop/hbase/coordination/ZKSplitLogManagerCoordination.java (1 line): - line 326: // TODO the Manager should split the log locally instead of giving up hbase-server/src/main/java/org/apache/hadoop/hbase/MetaTableAccessor.java (1 line): - line 81: * TODO: Add rep_barrier for serial replication explanation. See SerialReplicationChecker. hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/DefaultStoreFlusher.java (1 line): - line 57: // TODO: We can fail in the below block before we complete adding this flush to hbase-client/src/main/java/org/apache/hadoop/hbase/quotas/QuotaTableUtil.java (1 line): - line 153: * TODO: Setting specified region server quota isn't supported currently and the row key "r.all" hbase-server/src/main/java/org/apache/hadoop/hbase/security/token/ZKSecretWatcher.java (1 line): - line 181: // TODO: is there any point in retrying beyond what ZK client does? hbase-server/src/main/java/org/apache/hadoop/hbase/master/CachedClusterId.java (1 line): - line 40: * TODO: Make it a singleton without affecting concurrent junit tests. hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/ByteBufferChunkKeyValue.java (1 line): - line 29: // TODO : When moving this cell to CellChunkMap we will have the following things hbase-common/src/main/java/org/apache/hadoop/hbase/io/util/BlockIOUtils.java (1 line): - line 45: // TODO: remove the reflection when we update to Hadoop 3.3 or above. hbase-client/src/main/java/org/apache/hadoop/hbase/client/ZKConnectionRegistryURIFactory.java (1 line): - line 59: // TODO: add more check about the zookeeper quorum hbase-server/src/main/java/org/apache/hadoop/hbase/procedure/ZKProcedureUtil.java (1 line): - line 151: * Is this a procedure related znode path? TODO: this is not strict, can return true if had name hbase-compression/hbase-compression-brotli/src/main/java/org/apache/hadoop/hbase/io/compress/brotli/BrotliDecompressor.java (1 line): - line 62: // TODO: More inefficient than it could be, but it doesn't impact decompression speed hbase-server/src/main/java/org/apache/hadoop/hbase/procedure/flush/FlushTableSubprocedure.java (1 line): - line 78: // TODO: flush result is not checked? hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/TimeoutExecutorThread.java (1 line): - line 100: // TODO: treat this as a normal procedure, add it to the scheduler and hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/Chunk.java (1 line): - line 163: // TODO : If seqID is to be written add 8 bytes here for nextFreeOFfset hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/PrefetchExecutor.java (1 line): - line 83: // TODO: We want HFile, which is where the blockcache lives, to handle hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/TinyLfuBlockCache.java (1 line): - line 327: // FIXME: Currently does not capture the insertion time hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/ThriftHBaseServiceHandler.java (1 line): - line 116: // TODO: Size of pool configuraple hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/bucket/FileMmapIOEngine.java (1 line): - line 102: // TODO : HBASE-21981 needed for persistence to really work hbase-client/src/main/java/org/apache/hadoop/hbase/client/ConnectionUtils.java (1 line): - line 119: // TODO: Fix this. Not all connections from server side should have 10 times the retries. hbase-server/src/main/java/org/apache/hadoop/hbase/master/replication/RefreshPeerProcedure.java (1 line): - line 144: // TODO: no correctness problem if we just ignore this, implement later. hbase-server/src/main/java/org/apache/hadoop/hbase/master/MetricsAssignmentManager.java (1 line): - line 87: * TODO: Remove. This may not be required as assign and unassign operations are tracked separately hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/querymatcher/NewVersionBehaviorTracker.java (1 line): - line 374: // TODO maybe we can optimize. hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/RegionServerObserver.java (1 line): - line 91: // TODO remove below 2 hooks when we implement AC as a core impl than a CP impl. hbase-server/src/main/java/org/apache/hadoop/hbase/monitoring/TaskMonitor.java (1 line): - line 78: * Get singleton instance. TODO this would be better off scoped to a single daemon hbase-common/src/main/java/org/apache/hadoop/hbase/io/encoding/PrefixKeyDeltaEncoder.java (1 line): - line 169: // TODO : See if we can avoid these reads as the read values are not getting used hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/metrics/OperationMetrics.java (1 line): - line 43: * TODO: As of now, Metrics description cannot be added/ registered with {@link MetricRegistry}. hbase-common/src/main/java/org/apache/hadoop/hbase/codec/Codec.java (1 line): - line 37: // TODO: interfacing with {@link org.apache.hadoop.hbase.io.encoding.DataBlockEncoder} hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreScanner.java (1 line): - line 111: * seeking to next row/column. TODO: estimate them? hbase-balancer/src/main/java/org/apache/hadoop/hbase/master/balancer/RegionHDFSBlockLocationFinder.java (1 line): - line 193: // TODO: Should this refresh all the regions or only the ones assigned? hbase-server/src/main/java/org/apache/hadoop/hbase/tool/WriteSinkCoprocessor.java (1 line): - line 55: * TODO: It needs tests hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/GCMergedRegionsProcedure.java (1 line): - line 94: // TODO: This is going to spew log? hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/compactions/Compactor.java (1 line): - line 108: // TODO: depending on Store is not good but, realistically, all compactors currently do. hbase-common/src/main/java/org/apache/hadoop/hbase/types/FixedLengthWrapper.java (1 line): - line 114: // TODO: is the zero-padding appropriate? hbase-common/src/main/java/org/apache/hadoop/hbase/types/CopyOnWriteArrayMap.java (1 line): - line 885: // TODO should this restart the array back at start index 0 ? hbase-server/src/main/java/org/apache/hadoop/hbase/quotas/FileArchiverNotifierImpl.java (1 line): - line 243: // TODO Push this down to the RegionServer with a coprocessor: hbase-server/src/main/java/org/apache/hadoop/hbase/wal/EntryBuffers.java (1 line): - line 151: // TODO linkedlist entry hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/ProcedureUtil.java (1 line): - line 228: * TODO: OPTIMIZATION: some of the field never change during the execution (e.g. className, hbase-hadoop-compat/src/main/java/org/apache/hadoop/metrics2/lib/DefaultMetricsSystemHelper.java (1 line): - line 81: * This ugly code manually removes the name from the UniqueNames map. TODO: May not be needed for hbase-common/src/main/java/org/apache/hadoop/hbase/util/NonceKey.java (1 line): - line 25: // TODO: we could use pure byte arrays, but then we wouldn't be able to use hash map. hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RegionSplitPolicy.java (1 line): - line 137: * TODO: Shutdown this phoenix specialization or do it via some other means. hbase-common/src/main/java/org/apache/hadoop/hbase/io/ByteBufferWriter.java (1 line): - line 49: // TODO remove it from here? hbase-server/src/main/java/org/apache/hadoop/hbase/protobuf/ReplicationProtobufUtil.java (1 line): - line 108: // TODO: avoid this cast hbase-shell/src/main/ruby/shell/formatter.rb (1 line): - line 77: # TODO: Look at the type. Is it RowResult? hbase-asyncfs/src/main/java/org/apache/hadoop/hbase/io/asyncfs/ProtobufDecoder.java (1 line): - line 131: // TODO: If this is false then the class will fail to load? Can refactor it out? hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationObserver.java (1 line): - line 70: // hosted in a RegionServer. TODO: fix. hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/FixedFileTrailer.java (1 line): - line 332: // TODO this is a classname encoded into an HFile's trailer. We are going to need to have hbase-metrics-api/src/main/java/org/apache/hadoop/hbase/metrics/Snapshot.java (1 line): - line 120: // TODO: Dropwizard histograms also track stddev hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/client/ThriftConnection.java (1 line): - line 86: // TODO: We can rip out the ThriftClient piece of it rather than creating a new client every time. hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.java (1 line): - line 56: // TODO: St.Ack 20150903 Sounds good to me. hbase-zookeeper/src/main/java/org/apache/hadoop/hbase/zookeeper/RecoverableZooKeeper.java (1 line): - line 129: // TODO: Add support for zk 'chroot'; we don't add it to the quorumServers String as we should. hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.java (1 line): - line 770: // TODO: What if cell is 10MB and we write infrequently? We hold on to cell here indefinitely? hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.java (1 line): - line 619: // TODO it would be nice to pick one or the other of these formats. hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.java (1 line): - line 99: * For notification post append to the writer. Used by metrics system at least. TODO: Combine this