src/kudu/consensus/consensus_queue.cc (6 lines): - line 404: // TODO: we should probably refactor the ResponseFromPeer function - line 450: // TODO: it would be a cleaner design to explicitly set the first index in the - line 739: // TODO: Multi hop proxy support needs better failure and health checks - line 1646: // TODO - Verify if first check is redundant - line 1864: // calculation. See the TODO in AdvanceQueueWatermark() for more details. - line 2153: // TODO: we should probably use an atomic here. We'll just annotate src/kudu/consensus/log_cache.cc (4 lines): - line 239: // TODO: needs perf testing and maybe implement streaming (un)compression - line 307: // TODO: Needs perf testing and maybe add support for streaming compression - line 455: // TODO: we should also try to evict from other tablets - probably better to - line 716: // TODO (vinay): Refactor this to not have to copy pointers again into src/kudu/consensus/consensus.proto (4 lines): - line 250: // TODO: At the time of writing, this field is never set in the response. - line 251: // TODO: Propagate signed timestamps. See KUDU-611. - line 441: // TODO: Migrate ConsensusService to the AppStatusPB RPC style and merge these errors. - line 702: // TODO: Consider renaming these to copy_source_*. src/kudu/consensus/raft_consensus.cc (4 lines): - line 1502: // TODO: this isn't just an optimization! if we comment this out, we get - line 1538: // TODO move this to raft_consensus-state or whatever we transform that into. - line 1701: // TODO - These failure scenarios need to be exercised in an unit - line 3213: // TODO: disable detector after a few attempts src/kudu/util/hdr_histogram.h (3 lines): - line 166: // TODO: implement - line 171: // TODO: implement - line 334: // TODO: Explain percentile_ticks_per_half_distance. src/kudu/gutil/thread_annotations.h (3 lines): - line 135: #define NO_THREAD_SAFETY_ANALYSIS_FIXME \ - line 154: // TS_FIXME is used to mark lock expressions that are not valid C++ syntax. - line 225: #define NO_THREAD_SAFETY_ANALYSIS_FIXME \ src/kudu/rpc/serialization.cc (3 lines): - line 184: buf[kHeaderPosServiceClass] = 0; // TODO: implement - line 185: buf[kHeaderPosAuthProto] = 0; // TODO: implement - line 214: // TODO: validate additional header flags: src/kudu/util/rle-encoding.h (3 lines): - line 61: // TODO: think about how to use this for strings. The bit packing isn't quite the same. - line 142: // TODO: consider adding a min_repeated_run_length so the caller can control - line 198: // TODO: generalize this to other bit widths src/kudu/consensus/consensus_peers.cc (3 lines): - line 271: // TODO - - line 333: // TODO: Refactor this code. Ideally all fields in 'request_' related to - line 672: // TODO generalize this exponential backoff algorithm, as we do the src/kudu/rpc/connection.cc (3 lines): - line 289: // TODO: would be better to cancel the transfer while it is still on the queue if we - line 535: // TODO: it would seem that it would be good to loop around and see if - line 553: // TODO: shutdown? probably, since any future stuff on this socket will be src/kudu/util/thread.h (3 lines): - line 58: // TODO: would be nice to offer a way to use ptrace() or signals to - line 373: // TODO: Add start-time. - line 374: // TODO: Track fragment ID. src/kudu/rpc/rpc.h (2 lines): - line 40: // TODO Consider merging this with ScanRpcStatus. - line 80: // TODO Currently this only picks the leader, though it wouldn't be unfeasible to have this src/kudu/gutil/int128.h (2 lines): - line 31: // TODO: division, etc. - line 88: // TODO: perhaps it would be nice to have int128, a signed 128-bit type? src/kudu/util/inline_slice.h (2 lines): - line 42: // TODO: we could store a prefix of the indirect data in this unused space - line 118: // TODO: if already indirect and the current storage has enough space, just reuse that. src/kudu/scripts/dump_breakpad_symbols.py (2 lines): - line 90: TODO: Lookup the binary in the system path. Not urgent, since the user can specify the - line 97: # TODO: Use dump_syms_mac if on macOS. src/kudu/rpc/rpcz_store.cc (2 lines): - line 236: // TODO: use the actual RPC name instead of the request type name. - line 250: // TODO: consider pushing this onto another thread since it may be slow. src/kudu/consensus/leader_election.cc (2 lines): - line 304: // TODO - explain this more - line 1101: // TODO (anirbanr-fb) - This needs to be evaluated from the standpoint src/kudu/server/server_base.cc (2 lines): - line 426: // TODO: maybe actually bump a sequence number on local disk instead of - line 636: // TODO: Use PB container format? src/kudu/util/compression/compression_codec.cc (2 lines): - line 201: * TODO: use a instance-local Arena and pass alloc/free into zlib - line 223: // TODO: use z_stream src/kudu/common/wire_protocol.cc (2 lines): - line 442: // TODO: add test case for this invalid request - line 863: // TODO: Using LLVM to build a specialized CopyColumn on the fly should have src/kudu/util/hdr_histogram.cc (2 lines): - line 223: // portion, which gives us a direct index into the sub-bucket. TODO: Right?? - line 497: // TODO: Can this expression be simplified? src/kudu/consensus/log-test.cc (2 lines): - line 957: // TODO: should consider adding batching here of multiple replicates - line 1137: // TODO: We don't currently do bookkeeping to ensure that we check if the src/kudu/util/debug/trace_event_impl.cc (2 lines): - line 403: // TODO: it would be even faster to avoid the memory barrier here entirely, - line 706: // FIXME: base/json/json_writer.cc is using the same code, src/kudu/common/common.proto (2 lines): - line 96: // TODO: Differentiate between the schema attributes - line 254: // TODO implement actually signing the propagated timestamp. src/kudu/util/env_posix.cc (2 lines): - line 639: // TODO (perf) investigate zeroing a pre-allocated allocated area in - line 1177: // TODO: lint: Consider using readdir_r(...) instead of readdir(...) for improved thread safety. build-support/build_source_release.py (1 line): - line 147: # TODO: Cache and call the jar from the maven repo? src/kudu/rpc/retriable_rpc.h (1 line): - line 133: // TODO Remove this and pass the used replica around. For now we need to keep this as src/kudu/util/status.h (1 line): - line 450: // TODO: Move error codes into an error_code.proto or something similar. src/kudu/rpc/protoc-gen-krpc.cc (1 line): - line 253: // TODO: upgrade to protobuf 2.5.x and attach service comments src/kudu/rpc/rpc-test.cc (1 line): - line 1033: // TODO: Implement an incoming queue latency test. src/kudu/util/metrics.h (1 line): - line 197: // TODO: Output to HTML. src/kudu/clock/system_ntp.cc (1 line): - line 82: // TODO what to do about leap seconds? see KUDU-146 src/kudu/util/monotime-test.cc (1 line): - line 140: // TODO: Reliably test MonoDelta::FromSeconds() considering floating-point rounding errors src/kudu/consensus/consensus_queue.h (1 line): - line 431: // TODO: The method used to check for the proxy peer's health only works on src/kudu/util/maintenance_manager.cc (1 line): - line 329: // TODO We currently optimize for freeing log retention but we could consider having some sort of src/kudu/tserver/tablet_server_options.cc (1 line): - line 37: // TODO - iRitwik ( please refine these mechanisms to a standard way of src/kudu/util/bloom_filter.h (1 line): - line 43: // TODO: an SSE CRC32 hash is probably ~20% faster. Come back to this src/kudu/rpc/outbound_call.cc (1 line): - line 297: // TODO: here we're deserializing the call response within the reactor thread, src/kudu/rpc/rpc_header.proto (1 line): - line 336: // TODO: Make code required? src/kudu/util/bit-util.h (1 line): - line 26: // TODO: is this in boost or something else like that? src/kudu/tserver/tablet_server.cc (1 line): - line 81: // TODO: include port numbers, etc. src/kudu/server/rpc_server.cc (1 line): - line 107: // TODO: include port numbers, etc. src/kudu/util/os-util.h (1 line): - line 35: // TODO: Get stats for parent process. src/kudu/util/thread.cc (1 line): - line 194: // TODO: unordered_map is incompatible with pthread_t, but would be more src/kudu/rpc/service_if.cc (1 line): - line 43: // TODO remove this once we have fully cluster-tested this. src/kudu/util/pb_util.cc (1 line): - line 748: // TODO: Flush just the dirty bytes. src/kudu/rpc/service_pool.cc (1 line): - line 106: // TODO: Use a proper thread pool implementation. src/kudu/util/kernel_stack_watchdog.h (1 line): - line 253: // TODO: technically this barrier is stronger than we need: we are the only writer src/kudu/util/atomic-test.cc (1 line): - line 33: // TODO Add some multi-threaded tests; currently AtomicInt is just a src/kudu/util/env.cc (1 line): - line 59: // TODO: move these utils into env_util src/kudu/util/random.h (1 line): - line 49: // FIXME: This currently only generates 31 bits of randomness. build-support/parse_test_failure.py (1 line): - line 170: # TODO: there is actually some info on the previous line but there www/metrics-epoch.js (1 line): - line 23: // TODO allow setting this from the UI, e.g., add a pick-and-choose src/kudu/rpc/result_tracker.h (1 line): - line 381: // TODO consider a per-ClientState lock if we find this too coarse grained. src/kudu/consensus/log.cc (1 line): - line 1132: // TODO (perf) zero the new segments -- this could result in src/kudu/gutil/sysinfo.cc (1 line): - line 372: cpuinfo_cycles_per_second = EstimateCyclesPerSecond(500); // TODO <500? src/kudu/fs/fs.proto (1 line): - line 38: // TODO: add a "node type" (TS/Master?) src/kudu/common/wire_protocol.h (1 line): - line 195: // TODO: would be nice to just return a vector, but src/kudu/rpc/rpc_introspection.proto (1 line): - line 62: // TODO: swap out for separate fields src/kudu/util/group_varint-inl.h (1 line): - line 149: // TODO: remove this and just automatically pick the right implementation at runtime. src/kudu/gutil/linux_syscall_support.h (1 line): - line 3231: * TODO: Test whether ARM needs a restorer src/kudu/util/debug/unwind_safeness.h (1 line): - line 26: // TODO - for now, its not clear which one is more safe. src/kudu/util/knapsack_solver.h (1 line): - line 142: std::vector item_taken_; // TODO: record difference vectors? src/kudu/util/nvm_cache.cc (1 line): - line 551: // TODO: increment a metric here on allocation failure. src/kudu/util/crc.cc (1 line): - line 34: // TODO: Is initial = 0 and roll window = 4 appropriate for all cases? src/kudu/util/subprocess.cc (1 line): - line 376: // TODO: prctl(PR_SET_PDEATHSIG) is Linux-specific, look into portable ways src/kudu/util/cache.h (1 line): - line 15: // TODO: this is pretty lock-heavy. Would be good to sub out something src/kudu/consensus/routing.cc (1 line): - line 642: // TODO: provide a way to override designated per-region proxy peer src/kudu/util/metrics-test.cc (1 line): - line 176: // TODO: Test coverage needs to be improved a lot.