helix-core/src/main/java/org/apache/helix/controller/GenericHelixController.java (18 lines): - line 157: // TODO This flag should be inside ClusterStatusMonitor. When false, no MBean registering. - line 218: // TODO Create the required stateful rebalancer only when it is used by any resource. - line 227: * TODO: We should get rid of this once we move to: - line 583: // TODO: We now include rebalance pipeline in customized state change for correctness. - line 679: // TODO: refactor the constructor as providing both registry but only enabling one looks confusing - line 711: // TODO: refactor to simplify below similar code of the 3 pipelines - line 760: // TODO: retry when queue is empty and event.run() failed? - line 817: // TODO: may add EVENT_SESSION to tests' cluster events that need it - line 839: // TODO (harry): this is a temporal workaround - after controller is separated we should not - line 879: // TODO: should be in the initialization of controller. - line 984: // TODO remove this once clusterStatusMonitor blocks any MBean register on isMonitoring = false. - line 1050: // TODO: remove the synchronization here once we move this update into dataCache. - line 1160: // TODO: resource level rebalance does not make sense, to remove it! - line 1371: // TODO: remove the synchronization here once we move this update into dataCache. - line 1481: // TODO controller shouldn't be used in anyway after shutdown. - line 1531: // TODO: refactor this to use common/ClusterEventProcessor. - line 1612: * TODO: Make rebalancer volatile or make it singleton, if this method is called in multiple - line 1613: * TODO: threads outside the controller object. helix-core/src/main/java/org/apache/helix/manager/zk/ZKHelixAdmin.java (15 lines): - line 313: * TODO: consider using Helix lock to prevent race condition, and make sure zookeeper is ok - line 402: // TODO: batch enable/disable is breaking backward compatibility on instance enable with older library - line 477: * TODO: We may want to make this a public API in the future. - line 961: // TODO: support other modes - line 1143: // TODO: merge management status signal into one znode to avoid race condition - line 1300: // TODO: not mp-safe - line 1328: // TODO: not mp-safe - line 1828: // TODO: Give user an option, say from RestAPI to config the number of replicas. - line 2068: // TODO: need consider to remove this. - line 2329: // TODO: Change IdealState to ResourceConfig when configs are migrated to ResourceConfig - line 2376: // TODO: Add history ZNode for all batched enabling/disabling histories with metadata. - line 2382: // TODO: batch enable/disable is breaking backward compatibility on instance enable with older library - line 2409: // TODO: we are updating both DISABLED_INSTANCES and DISABLED_INSTANCES_W_INFO for - line 2411: // TODO: update the history ZNode - line 2490: // TODO This might be okay because of default weight? helix-core/src/main/java/org/apache/helix/messaging/handling/HelixTaskExecutor.java (12 lines): - line 130: // TODO: we need to further design how to throttle this. - line 134: // TODO: create per-task type threadpool with customizable pool size - line 413: // TODO: check if any of the task has already been scheduled - line 607: // TODO: If the message update fails, maybe we shall not treat the message as a known - line 608: // TODO: message. We shall apply more strict check and retry the update. - line 857: // TODO: see if we should have a separate notification call for resetting - line 1036: * TODO: Checking _isShuttingDown is a workaround to avoid unnecessary ERROR partition. - line 1037: * TODO: We shall improve the shutdown process of the participant to clean up the workflow - line 1038: * TODO: completely. In detail, there isa race condition between TaskExecutor thread - line 1039: * TODO: pool shutting down and Message handler stops listening. In this gap, the message - line 1040: * TODO: will still be processed but schedule will fail. If we mark partition into ERROR - line 1041: * TODO: state, then the controller side logic might be confused. zookeeper-api/src/main/java/org/apache/helix/zookeeper/zkclient/ZkClient.java (11 lines): - line 106: // TODO: remove it once we have a better way to exit retry for this case - line 117: // TODO: use ZKConfig#JUTE_MAXBUFFER once bumping up ZK to 3.5.2+ - line 143: // TODO PVo remove this later - line 1371: // TODO PVo write a test for this - line 1393: //TODO: During handling new session, if the path is deleted, watcher leakage could still happen - line 1440: // TODO: remove this check once we have a better way to exit infinite retry - line 1917: // TODO recording child changed event propagation latency as well. Note this change will - line 1985: // TODO: the data is redundantly read multiple times when multiple listeners exist - line 2776: // TODO Refine the init state here. Here we pre-config it to be connected. This may not be - line 2841: // TODO: Closing _event thread here will miss final `CLOSE` state change. - line 3202: // TODO: Consider create an empty interface and let the two listeners interface extend that helix-core/src/main/java/org/apache/helix/task/TaskUtil.java (8 lines): - line 549: // TODO: move this to the JobConfig - line 567: // TODO: move this to the JobConfig - line 597: // TODO: fix this to use the keyBuilder. - line 608: * TODO: Task Framework no longer uses IdealState; this is left in for backward compability - line 621: * TODO: Task Framework no longer uses IdealState; this is left in for backward compability - line 634: * TODO: Task Framework no longer uses IdealState; this is left in for backward compability - line 801: // TODO: Temporary solution for cache selective update race conditions - line 1132: // TODO: We dont need this in the future when TF is not relying on IS/EV anymore. helix-core/src/main/java/org/apache/helix/task/AbstractTaskDispatcher.java (8 lines): - line 214: // TODO: This case statement might be unreachable code - Hunter - line 511: // TODO: Enhance the pipeline and remove this because this operation is expansive - line 530: // TODO: Enhance the pipeline and remove this because this operation is expansive - line 604: // TODO: Revisit the logic for isRebalanceRunningTask() and valid use cases for it - line 605: // TODO: isRebalanceRunningTask() was originally put in place to allow users to move - line 1300: * TODO: Move this logic to Task Framework metrics class for refactoring. - line 1327: * TODO: Move this logic to Task Framework metrics class for refactoring. - line 1354: * TODO: Move this logic to Task Framework metrics class for refactoring. helix-core/src/main/java/org/apache/helix/manager/zk/ZKHelixManager.java (7 lines): - line 563: // TODO: Decide if do we still need this since we are exposing - line 931: // TODO reset user defined handlers only - line 996: // TODO: session id should be updated after zk client is connected. - line 1126: // TODO: rename this and not expose this function as part of interface - line 1252: // TODO Call disconnect in another thread. - line 1319: * TODO: after removing I0ItecIZkStateListenerImpl, null session should be checked and - line 1447: // TODO: pass in session id and make this method session aware to avoid potential session race helix-core/src/main/java/org/apache/helix/model/InstanceConfig.java (7 lines): - line 452: // TODO: Replace this when HELIX_ENABLED and HELIX_DISABLED_REASON is removed. - line 581: // TODO: Remove this when we are sure that all users are using the new InstanceOperation only - line 625: // TODO: This can be removed when HELIX_ENABLED is removed. - line 788: // TODO: Remove this old partition list check once old get API removed. - line 839: // TODO: Remove this logic getting data from list field when getDisabledParition() removed. - line 909: // TODO: Remove this when getDisabledParition() removed. - line 1127: // TODO: Consider caching DomainMap, parsing the DOMAIN string every time helix-core/src/main/java/org/apache/helix/controller/rebalancer/waged/model/ClusterModelProvider.java (7 lines): - line 66: * TODO: On integration with WAGED, have to integrate with counter and latency metrics -- qqu - line 216: // TODO: Figure out why streaming the keySet directly in rare cases causes ConcurrentModificationException - line 464: // TODO: The assumption here is that if the LiveInstance znode is created or it's session Id is - line 465: // TODO: updated, we need to call algorithm for moving some partitions to this new node. - line 466: // TODO: However, if the liveInstance znode is changed because of some other reason, it will be - line 467: // TODO: treated as a newly connected nodes. We need to find a better way to identify which one - line 468: // TODO: is the real newly connected nodes. meta-client/src/main/java/org/apache/helix/metaclient/impl/zk/ZkMetaClient.java (7 lines): - line 91: // TODO: Right new ZkClient reconnect using exp backoff with fixed max backoff interval. We should - line 269: //TODO: Get Expiry Time in Stat - line 359: * TODO: Only Helix has potential using this API as of now. (ZkBaseDataAccessor.update()) - line 373: * TODO: Only Helix has potential using this API as of now. (ZkBaseDataAccessor.getChildren()) - line 392: //TODO: There is no active use case for Async transaction. - line 467: // TODO: add impl and remove UnimplementedException - line 558: // TODO: need to unsubscribe all persist watcher from ZK helix-core/src/main/java/org/apache/helix/controller/dataproviders/ResourceControllerDataProvider.java (6 lines): - line 77: // TODO: this is only for customRebalancer, remove it and merge it with _idealMappingCache. - line 98: // TODO: Sorting the partition list in CrushEd strategy instead of using the cache to reduce - line 99: // TODO: dependency. Note that this will change the cluster partition assignment and potentially - line 100: // TODO: cause shuffling. So it is not backward compatible. - line 180: // TODO: remove the workaround once we are able to apply the simple fix without majorly - line 181: // TODO: impacting user's clusters. helix-core/src/main/java/org/apache/helix/manager/zk/ZkCacheBaseDataAccessor.java (6 lines): - line 59: // TODO: need to make sure no overlap between wtCachePaths and zkCachePaths - line 395: // TODO: shall return a deep copy instead of reference - line 565: // TODO: change to use async_exists - line 633: // TODO: shall return a deep copy instead of reference - line 674: // TODO: add cache - line 724: // TODO add retry logic according to retryCount and retryInterval input meta-client/src/main/java/org/apache/helix/metaclient/api/MetaClientInterface.java (6 lines): - line 86: * TODO: we will add session ID to entry stats in the future - line 87: * TODO: Add support for expiry time - line 272: * TODO: define exception to throw - line 295: * TODO: add const default value in a separate file - line 473: // TODO: add auto re-register listener option - line 625: // TODO: Secure CRUD APIs helix-core/src/main/java/org/apache/helix/task/AssignableInstanceManager.java (6 lines): - line 52: // TaskID -> TaskAssignResult TODO: Hunter: Move this if not needed - line 408: _taskAssignResultMap.remove(taskToRemove); // TODO: Hunter: Move this if necessary - line 448: // TODO: Currently, quota types are global settings across all AssignableInstances. When this - line 449: // TODO: becomes customizable, we need to actually implement this so that it doesn't return all - line 450: // TODO: AssignableInstances - line 578: * TODO: Make this with an associated event ID if this becomes a performance bottleneck helix-core/src/main/java/org/apache/helix/messaging/CriteriaEvaluator.java (6 lines): - line 97: // TODO: Apply strict check on the getChildValuesMap() call. - line 98: // TODO: For backward compatibility, allow partial read for now. This may reduce the - line 99: // TODO: match result eventually. - line 188: // TODO: Apply strict check on the getChildValues() call. - line 189: // TODO: For backward compatibility, allow partial read for now. This may reduce the - line 190: // TODO: matches eventually. helix-core/src/main/java/org/apache/helix/controller/dataproviders/BaseControllerDataProvider.java (5 lines): - line 284: // TODO: This is a temp function to clean up incompatible batched disabled instances format. - line 300: // TODO: This function is used to clean up batched disabled instances for - line 556: // TODO: once controller gets split, only one controller should update offline instance history - line 872: // TODO: Targeted jobs still rely on regular resource current states, so need to include all - line 1254: // TODO: refactor it to writable cache once read-only/writable caches are separated. helix-core/src/main/java/org/apache/helix/spectator/RoutingTableProvider.java (5 lines): - line 570: // TODO each table will keep a separate instance list.This can be improve by only keeping one - line 582: // TODO each table will keep a separate instance list.This can be improve by only keeping one copy of the data - line 854: // TODO: move the callback user code logic to separate thread upon routing table statePropagation latency - line 1016: // TODO: Split the monitor into. One is general router callback tracking. The other one is for - line 1018: // TODO: We may need to add more complexity to the customized view monitor for each state helix-core/src/main/java/org/apache/helix/model/ClusterConfig.java (5 lines): - line 75: // TODO: if we want to support this for other rebalancers, we need to implement that logic - line 78: // TODO: At some point we should rename this to something like MAX_INSTANCES_UNABLE_TO_TAKE_ACCEPT_REPLICAS - line 93: @Deprecated // TODO: Remove in Helix 2.0 - line 95: @Deprecated // TODO: Remove in Helix 2.0 - line 109: * TODO: Split the WAGED rebalancer configuration items to the other config file. helix-core/src/main/java/org/apache/helix/manager/zk/ZkBaseDataAccessor.java (5 lines): - line 661: // TODO: Change the behavior of getChildren when Helix starts migrating API. - line 925: * TODO: rename to create - line 934: * TODO: rename to create - line 975: * TODO: rename to set - line 1111: // TODO: rename to update zookeeper-api/src/main/java/org/apache/helix/zookeeper/zkclient/callback/ZkAsyncCallbacks.java (5 lines): - line 67: // TODO Auto-generated method stub - line 95: // TODO Auto-generated method stub - line 116: // TODO Auto-generated method stub - line 140: // TODO Auto-generated method stub - line 152: // TODO Auto-generated method stub helix-core/src/main/java/org/apache/helix/manager/zk/ZkCallbackCache.java (5 lines): - line 100: // TODO: make readData async - line 159: // TODO: optimize it by get stat from callback - line 218: // TODO Auto-generated method stub - line 233: // TODO Auto-generated method stub - line 239: // TODO Auto-generated method stub helix-core/src/main/java/org/apache/helix/tools/TestExecutor.java (5 lines): - line 630: // TODO Auto-generated catch block - line 696: // TODO add data trigger for START command - line 706: // TODO add data trigger for STOP command - line 729: // TODO Auto-generated catch block - line 787: // TODO add timeout helix-core/src/main/java/org/apache/helix/participant/HelixStateMachineEngine.java (5 lines): - line 120: // TODO: duplicated code in DefaultMessagingService - line 167: // TODO: evaluate impact and consider parallelization - line 177: // TODO probably should update the state on ZK. Shi confirm what needs - line 180: // TODO: If stateModel is null, we might need to do something here - line 268: // TODO: move currentStateDelta to StateTransitionMsgHandler meta-client/src/main/java/org/apache/helix/metaclient/recipes/leaderelection/LeaderElectionClient.java (4 lines): - line 230: // TODO: remove from pool folder - line 296: * @throws RuntimeException when leader path does not exist. // TODO: define exp type - line 327: * @throws RuntimeException when leader path does not exist. // TODO: define exp type - line 381: // TODO: if last participant, remove folder helix-core/src/main/java/org/apache/helix/tools/ClusterStateVerifier.java (4 lines): - line 124: // TODO Auto-generated method stub - line 560: // TODO Auto-generated catch block - line 618: // TODO Auto-generated catch block - line 710: // TODO Auto-generated method stub helix-core/src/main/java/org/apache/helix/messaging/handling/BatchMessageHandler.java (4 lines): - line 113: // TODO: change to use asyncSet - line 137: int exeBatchSize = 1; // TODO: getExeBatchSize from msg - line 217: // TODO: optimize this based on the fact that each cs update is for a - line 223: String path = update._key.getPath(); // TODO: this is time helix-core/src/main/java/org/apache/helix/common/caches/TaskDataCache.java (4 lines): - line 58: // TODO: context and previous assignment should be wrapped into a class. Otherwise, int the future, - line 145: // TODO: Need an optimize for reading context only if the refresh is needed. - line 316: // TODO: Let's have periodical clean up thread that could remove deletion failed contexts. - line 322: // TODO: current behavior is when you delete non-existing data will return false. helix-core/src/main/java/org/apache/helix/controller/stages/IntermediateStateCalcStage.java (4 lines): - line 307: // TODO: The potential optimization to make the logic computation async and report the metric for recovery/load - line 399: // TODO: We may need to optimize it to be async compute for intermediate state output. - line 544: // TODO: refactor the logic into throttling to let throttling logic to handle only downward including recovery rebalance - line 554: // TODO: Currently throttling is applied for messages that are targeting all instances including those not considered as helix-core/src/main/java/org/apache/helix/tools/ClusterSetup.java (4 lines): - line 531: // TODO: remove this. has moved to ZkHelixAdmin - line 1058: // TODO need deal with resource-names containing "," - line 1193: // TODO: remove this. has moved to ZkHelixAdmin - line 1668: // TODO: remove this. has moved to ZkHelixAdmin helix-core/src/main/java/org/apache/helix/task/TaskStateModelFactory.java (4 lines): - line 76: // TODO: Hunter: I'm not sure why this needs to be a single thread executor. We could certainly - line 132: // TODO: None-ZKHelixManager cannot initialize this class. After interface rework of - line 147: // TODO: a fallback logic is created because it's possible for the ZKHelixManager to not - line 173: // TODO: revisit the logic here - we are creating a connection although we already have a helix-core/src/main/java/org/apache/helix/manager/zk/ZKHelixDataAccessor.java (4 lines): - line 160: // TODO: set success accordingly - line 434: // TODO: fix this if record.id != pathName - line 506: // TODO: add validation - line 590: // TODO: set success accordingly helix-rest/src/main/java/org/apache/helix/rest/server/resources/helix/ClusterAccessor.java (3 lines): - line 640: //TODO reduce the GC by dependency injection - line 973: // TODO: Could use a more generic error for HelixException - line 989: //TODO: abstract out the logic that is duplicated from cluster config methods helix-core/src/main/java/org/apache/helix/common/caches/InstanceMessagesCache.java (3 lines): - line 230: // TODO: we should remove the message immediately here once we have transaction id support in CurrentState. - line 358: // TODO: we should add transaction id for each state transition, we can immediately delete the relay message once we have transaction id record in each currentState. - line 372: // TODO: we should add transaction id for each state transition, we can immediately delete the relay message once we have transaction id record in each currentState. helix-core/src/main/java/org/apache/helix/controller/rebalancer/DelayedAutoRebalancer.java (3 lines): - line 332: // TODO: This may never be a possible case, figure out if we can safely remove this. - line 349: // TODO : Keep the behavior consistent with existing state count, change back to read from idealstate - line 411: // TODO: This may not be necessary, all of the instances bestPossibleStateMap should be set to ERROR recipes/rsync-replicated-file-system/src/main/java/org/apache/helix/filestore/ChangeLogReader.java (3 lines): - line 112: // TODO: handle exception - line 124: // TODO: handle exception - line 136: // TODO: handle exception helix-core/src/main/java/org/apache/helix/spectator/RoutingDataCache.java (3 lines): - line 57: // TODO: CustomizedCache needs to be migrated to propertyCache. Once we migrate all cache to - line 140: * TODO: Refactor cache processing logic and also refine the callback handler registration - line 141: * TODO: logic. helix-core/src/main/java/org/apache/helix/controller/rebalancer/AbstractRebalancer.java (3 lines): - line 365: // TODO: Consider moving this logic to assignStatesToInstances since we are already passing - line 650: // TODO: remove the workaround once we are able to apply the simple fix without majorly - line 651: // TODO: impacting user's clusters. helix-core/src/main/java/org/apache/helix/task/TaskDriver.java (3 lines): - line 94: // TODO Implement or configure the limitation in ZK server. - line 996: * TODO: IdealStates are no longer used by Task Framework. This function deletes IdealStates for - line 997: * TODO: backward compatability purpose; this behavior will be removed later. helix-core/src/main/java/org/apache/helix/controller/rebalancer/constraint/ExcessiveTopStateResolver.java (3 lines): - line 61: // TODO: Cache top state count in the ResourceControllerDataProvider and avoid repeated counting - line 62: // TODO: here. It would be premature to do it now. But with more use case, we can improve the - line 63: // TODO: ResourceControllerDataProvider to calculate by default. meta-client/src/main/java/org/apache/helix/metaclient/impl/zk/ZkMetaClientCache.java (3 lines): - line 55: // TODO: Look into using conditional variable instead of latch. - line 149: // TODO: Concurrently populate children and data cache. - line 190: // TODO: HANDLE DEDUP EVENT CHANGES helix-core/src/main/java/org/apache/helix/messaging/DefaultMessagingService.java (3 lines): - line 59: // TODO:rename to factory, this is not a service - line 162: TODO On frequent cross clsuter messaging request, keeping construct data accessor may cause - line 353: // TODO if the manager is not Participant or Controller, no reply, so should fail immediately helix-core/src/main/java/org/apache/helix/task/WorkflowConfig.java (3 lines): - line 98: // TODO: jobDag should not be in the workflowConfig. - line 508: // TODO: Add user customized simple field clone. - line 509: // TODO: Add API to set map fields. This API only set simple fields helix-core/src/main/java/org/apache/helix/controller/stages/MessageSelectionStage.java (3 lines): - line 118: // TODO: This method deserves its own class. The class should not understand helix but - line 253: * TODO: This code is duplicate in multiple places. Can we do it in to one place in the - line 290: // TODO: if state transition priority is not provided then use lexicographical sorting helix-core/src/main/java/org/apache/helix/controller/stages/BestPossibleStateCalcStage.java (3 lines): - line 117: // TODO need to find a better way to process this monitoring config in a centralized - line 335: /* TODO Enable this update when we resolve ZK server load issue. This will cause extra write to ZK. - line 449: // TODO propagate the rebalancer failure information to updateRebalanceStatus for monitoring. helix-rest/src/main/java/org/apache/helix/rest/server/resources/zookeeper/ZooKeeperAccessor.java (3 lines): - line 240: // TODO: Remove this restriction once we have audit and ACL for the API calls. - line 241: // TODO: This method is added pre-maturely to support removing the live instance of a zombie - line 242: // TODO: instance. It is risky to allow all deleting requests before audit and ACL are done. helix-lock/src/main/java/org/apache/helix/lock/helix/ZKDistributedNonblockingLock.java (3 lines): - line 199: //TODO: update release lock logic so it would not leave empty znodes after the lock is released - line 241: // TODO: ideally we should only start to time for the cleanup action once it starts for - line 288: // TODO: add logic here once we support lock znode cleanup helix-core/src/main/java/org/apache/helix/util/InstanceValidationUtil.java (3 lines): - line 97: // TODO: batch enable/disable in cluster config is breaking backward compatibility with older library - line 391: * TODO: Use in memory cache and query instance's currentStates - line 409: * TODO: Use in memory cache and query instance's currentStates helix-core/src/main/java/org/apache/helix/model/ResourceConfig.java (2 lines): - line 268: // TODO: use IdealState.getNumbReplica()? - line 852: // TODO: Reenable the validation in the future when ResourceConfig is ready. zookeeper-api/src/main/java/org/apache/helix/zookeeper/api/client/RealmAwareZkClient.java (2 lines): - line 126: * TODO: remove below default implementation when getting rid of I0Itec in the new zk client. - line 135: * TODO: remove below default implementation when getting rid of I0Itec in the new zk client. helix-core/src/main/java/org/apache/helix/util/HelixUtil.java (2 lines): - line 386: // TODO: Consider full cache refresh to prevent needing to manually set necessary fields - line 563: // TODO: should check maintenance signal when moving maintenance to management pipeline helix-core/src/main/java/org/apache/helix/model/Error.java (2 lines): - line 35: // TODO Auto-generated constructor stub - line 40: // TODO Auto-generated method stub helix-core/src/main/java/org/apache/helix/util/StatusUpdateUtil.java (2 lines): - line 130: // TODO: We should build a map and return the key instead of searching - line 570: // TODO need to fix: ERRORS_CONTROLLER doesn't have a form of helix-core/src/main/java/org/apache/helix/monitoring/mbeans/ResourceMonitor.java (2 lines): - line 367: // TODO: Deprecated. use MissingTopStateBeyondThresholdGuage to find out number of partitions with missing top - line 376: // TODO: Deprecated. use MissingTopStateBeyondThresholdGauge to find out number of partitions with missing top helix-core/src/main/java/org/apache/helix/cloud/event/helix/DefaultCloudEventCallbackImpl.java (2 lines): - line 85: * TODO: we should add maintenance reason when EMM with cloud event - line 102: * TODO: we should also check the maintenance reason and only exit when EMM is caused by cloud event helix-core/src/main/java/org/apache/helix/HelixRebalanceException.java (2 lines): - line 26: // TODO: Adding static description or other necessary fields into the enum instances for - line 27: // TODO: supporting the rebalance monitor to understand the exception. helix-core/src/main/java/org/apache/helix/manager/zk/CallbackHandler.java (2 lines): - line 347: // TODO: Maybe we don't need to sync on _manager for all types of listener. PCould be a - line 623: //TODO: avoid calling getChildren for path that does not exist helix-core/src/main/java/org/apache/helix/model/ControllerHistory.java (2 lines): - line 96: // TODO: remove this in future when we confirmed no one consumes it - line 107: // TODO: remove above in future when we confirmed no one consumes it */ helix-core/src/main/java/org/apache/helix/PropertyPathBuilder.java (2 lines): - line 71: // TODO: Below must handle the case for future versions of Task Framework with a different path - line 169: // TODO: These are the current task framework related paths. In the future, if we decide to use helix-view-aggregator/src/main/java/org/apache/helix/view/aggregator/HelixViewAggregator.java (2 lines): - line 217: // TODO: when DedupEventProcessor supports delayed scheduling, - line 365: // TODO: the following steps can be parallelized helix-front/src/app/cluster/shared/cluster.model.ts (2 lines): - line 10: // TODO vxu: Resources are useless here. Remove it please. - line 13: // TODO vxu: convert it to use StateModel[] helix-core/src/main/java/org/apache/helix/task/JobDispatcher.java (2 lines): - line 99: // TODO: Enhance the pipeline and remove this because this operation is expansive - line 304: // TODO: Enhance the pipeline and remove this because this operation is expansive helix-core/src/main/java/org/apache/helix/util/MessageUtil.java (2 lines): - line 36: // TODO: Make the message retry count configurable through the Cluster Config or IdealStates. - line 72: // TODO: make the retry count configurable in ClusterConfig or IdealState helix-core/src/main/java/org/apache/helix/controller/rebalancer/util/DelayedRebalanceUtil.java (2 lines): - line 243: * TODO: Remove the idealState input once we have all the config information migrated to the - line 244: * TODO: resource config by default. helix-rest/src/main/java/org/apache/helix/rest/server/resources/AbstractResource.java (2 lines): - line 88: setInstanceOperation, // TODO: Name is just a place holder, may change in future - line 192: // TODO: remove AnnotationIntrospector config once ZNRecord upgrades Jackson helix-core/src/main/java/org/apache/helix/controller/stages/TopStateHandoffReportStage.java (2 lines): - line 77: // TODO: remove this if-else after splitting controller - line 440: // TODO: revise this case and see if this case can be better addressed helix-core/src/main/java/org/apache/helix/model/Message.java (2 lines): - line 656: // TODO: remove this. impl in HelixProperty - line 970: // TODO: refactor message to state transition message and task-message and helix-core/src/main/java/org/apache/helix/controller/changedetector/ChangeDetector.java (2 lines): - line 29: * TODO: Consider splitting this up into two different ChangeDetector interfaces: - line 30: * TODO: PropertyBasedChangeDetector and PathBasedChangeDetector. helix-core/src/main/java/org/apache/helix/controller/stages/BestPossibleStateOutput.java (2 lines): - line 43: // TODO: remove this. - line 58: // TODO: remove this. meta-client/src/main/java/org/apache/helix/metaclient/impl/zk/util/ZkMetaClientUtil.java (2 lines): - line 54: //TODO Implement MetaClient ACL - line 284: // TODO: add log to track ZK origional code. helix-core/src/main/java/org/apache/helix/controller/ExternalViewGenerator.java (2 lines): - line 46: * TODO: move the code as part of router process - line 47: * TODO: add listeners to node current state changes helix-core/src/main/java/org/apache/helix/task/assigner/AssignableInstance.java (2 lines): - line 185: // TODO: properly escalate error - line 348: // TODO (harry): get requested resource type from task config helix-core/src/main/java/org/apache/helix/controller/stages/CurrentStateComputationStage.java (2 lines): - line 74: // TODO: remove the explicit checking of type, since this could potentially complicates - line 403: // TODO: We will change this logic to handle each event-type differently and depending on the resource type. helix-rest/src/main/java/org/apache/helix/rest/server/HelixRestServer.java (2 lines): - line 89: // TODO: consider moving the following static context to ServerContext or any other place - line 337: config.setVersion("1.0.0"); // FIXME: Pick this info from META-INF helix-rest/src/main/java/org/apache/helix/rest/server/resources/helix/ResourceAssignmentOptimizerAccessor.java (2 lines): - line 84: // TODO: We could add a data cache here to avoid read latency. - line 149: // TODO: We will need to include user input to response header since user may do async call. helix-core/src/main/java/org/apache/helix/monitoring/mbeans/ClusterStatusMonitor.java (2 lines): - line 151: // TODO : Get rid of this after old API removed. - line 777: * TODO: Separate Workflow/Job Monitors from ClusterStatusMonitor because ClusterStatusMonitor is helix-core/src/main/java/org/apache/helix/spectator/RoutingTable.java (2 lines): - line 77: // TODO Aggregate currentState to an ExternalView in the RoutingTable, so there is no need to - line 92: // TODO Refactor these constructors so we don't have so many constructor. helix-core/src/main/java/org/apache/helix/monitoring/mbeans/InstanceMonitor.java (2 lines): - line 47: // TODO: change the metric names with Counter and Gauge suffix and deprecate old names. - line 213: // TODO : Get rid of this when old API removed. zookeeper-api/src/main/java/org/apache/helix/zookeeper/impl/factory/ZkConnectionManager.java (2 lines): - line 44: * TODO Separate connection management logic from the raw ZkClient class. - line 140: // TODO ideally, we shall have a ClosableWatcher interface so as to check accordingly. -- JJ helix-core/src/main/java/org/apache/helix/model/IdealState.java (2 lines): - line 564: // TODO: remove it when Dbus fixed the IdealState writer - line 565: // TODO: replica could be "ANY_INSTANCE". helix-core/src/main/java/org/apache/helix/controller/stages/PersistAssignmentStage.java (2 lines): - line 126: //TODO: temporary solution for Espresso/Dbus backcompatible, should remove this. - line 211: * TODO: This is a temporary hacky for back-compatible support of Espresso and Databus, we should helix-core/src/main/java/org/apache/helix/controller/stages/ManagementModeStage.java (2 lines): - line 66: // TODO: implement the stage - line 103: // TODO: Should check maintenance mode after it's moved to management pipeline. helix-core/src/main/java/org/apache/helix/manager/zk/ZKUtil.java (2 lines): - line 250: // TODO: check if parentPath exists - line 276: // TODO: check if parentPath exists helix-core/src/main/java/org/apache/helix/controller/stages/ReadClusterDataStage.java (2 lines): - line 67: // TODO (harry): move this to separate stage for resource controller only - line 97: // TODO : Get rid of this data structure once the API is removed. helix-core/src/main/java/org/apache/helix/controller/changedetector/trimmer/HelixPropertyTrimmer.java (2 lines): - line 71: // TODO: Simplify or remove the trim logic when we clearly separate the input and output ZNode. - line 72: // TODO: e.g. Resource Config for user input and the Ideal State for the Helix output. helix-core/src/main/java/org/apache/helix/participant/statemachine/StateModel.java (2 lines): - line 32: // TODO Get default state from implementation or from state model annotation - line 53: * TODO:enforce subclass to write this helix-core/src/main/java/org/apache/helix/controller/rebalancer/waged/WagedRebalancer.java (2 lines): - line 121: // TODO abstract and separate the main mapping calculator logic from DelayedAutoRebalancer - line 227: // TODO the rebalancer should reject any other computing request after being closed. helix-rest/src/main/java/org/apache/helix/rest/clusterMaintenanceService/MaintenanceManagementService.java (2 lines): - line 613: // TODO: Right now user can only choose from HelixInstanceStoppableCheck and - line 856: // TODO: should add reason to request response helix-core/src/main/java/org/apache/helix/model/AlertHistory.java (2 lines): - line 35: // TODO Auto-generated constructor stub - line 40: // TODO Auto-generated method stub helix-rest/src/main/java/org/apache/helix/rest/server/resources/helix/InstancesAccessor.java (2 lines): - line 227: // TODO: Process input data from the content - line 228: // TODO: Implement the logic to automatically detect the selection base. https://github.com/apache/helix/issues/2968#issue-2691677799 helix-core/src/main/java/org/apache/helix/controller/rebalancer/topology/Topology.java (2 lines): - line 189: // TODO: Currently we add disabled instance to the topology tree. Since they are not considered - line 190: // TODO: in rebalance, maybe we should skip adding them to the tree for consistence. helix-core/src/main/java/org/apache/helix/controller/stages/task/TaskSchedulingStage.java (2 lines): - line 156: // TODO: We can support customized sorting field for user. Currently sort by creation time - line 177: // TODO : Resource is null could be workflow just created without any IdealState. helix-core/src/main/scripts/integration-test/script/dds_driver.py (2 lines): - line 393: # TODO: maybe we want to put the logs in the remote host - line 478: if options.component=="espresso-relay": cmd+= " -d " # temp hack. TODO: remove helix-core/src/main/java/org/apache/helix/messaging/handling/HelixStateTransitionHandler.java (1 line): - line 301: // TODO : Support cancel to any state helix-front/src/app/shared/node-viewer/node-viewer.component.html (1 line): - line 48: helix-core/src/main/java/org/apache/helix/controller/rebalancer/waged/AssignmentMetadataStore.java (1 line): - line 122: // TODO: Make the write async? helix-core/src/main/java/org/apache/helix/tools/TestTrigger.java (1 line): - line 97: // TODO temp test; remove it helix-core/src/main/java/org/apache/helix/PropertyKey.java (1 line): - line 943: * TODO: Below returns the old path for WorkflowContexts helix-front/src/app/history/shared/history.service.ts (1 line): - line 20: // TODO: implement data.simpleFields.LAST_OFFLINE_TIME helix-core/src/main/java/org/apache/helix/model/builder/ConfigScopeBuilder.java (1 line): - line 84: // TODO: validate the scopes map helix-core/src/main/java/org/apache/helix/controller/stages/MessageDispatchStage.java (1 line): - line 98: // TODO: Need also count messages from task rebalancer zookeeper-api/src/main/java/org/apache/helix/zookeeper/impl/client/ZkClient.java (1 line): - line 58: * TODO Completely replace usage of the raw ZkClient within helix-core. Instead, using HelixZkClient. --JJ zookeeper-api/src/main/java/org/apache/helix/zookeeper/impl/client/FederatedZkClient.java (1 line): - line 91: // TODO: support capacity of ZkClient number in one FederatedZkClient and do garbage collection. helix-core/src/main/java/org/apache/helix/monitoring/mbeans/JobMonitor.java (1 line): - line 121: // TODO maybe use separate TIMED_OUT counter later helix-core/src/main/java/org/apache/helix/controller/rebalancer/strategy/MultiRoundCrushRebalanceStrategy.java (1 line): - line 118: // TODO: move this outside? helix-core/src/main/java/org/apache/helix/controller/rebalancer/waged/model/AssignableNode.java (1 line): - line 109: // TODO: the exception could occur in the middle of for loop and the previous added records cannot be reverted meta-client/src/main/java/org/apache/helix/metaclient/impl/zk/factory/ZkMetaClientConfig.java (1 line): - line 36: // TODO: right now all zkClient mBean object has prefix `HelixZkClient` had coded. We should change recipes/task-execution/src/main/java/org/apache/helix/taskexecution/Worker.java (1 line): - line 75: // TODO Auto-generated catch block helix-core/src/main/java/org/apache/helix/controller/rebalancer/waged/model/OptimalAssignment.java (1 line): - line 90: // TODO: format the error string helix-core/src/main/java/org/apache/helix/controller/pipeline/AbstractBaseStage.java (1 line): - line 41: // TODO Auto-generated method stub helix-core/src/main/java/org/apache/helix/util/ZKClientPool.java (1 line): - line 110: // TODO Auto-generated catch block helix-core/src/main/java/org/apache/helix/controller/stages/MessageThrottleStage.java (1 line): - line 183: // TODO: printout constraint item that throttles the message helix-core/src/main/java/org/apache/helix/controller/stages/ResourceValidationStage.java (1 line): - line 106: // TODO: redesign to terminate and switch pipeline more peacefully zookeeper-api/src/main/java/org/apache/helix/zookeeper/constant/ZkSystemPropertyKeys.java (1 line): - line 89: // TODO: deprecate this config after paginated API is deployed and stable meta-client/src/main/java/org/apache/helix/metaclient/exception/MetaClientException.java (1 line): - line 133: // TODO: add more code translation when new exception class is created. helix-core/src/main/java/org/apache/helix/manager/zk/ParticipantManager.java (1 line): - line 155: // TODO create live instance node after all the init works done --JJ recipes/rabbitmq-consumer-group/src/main/java/org/apache/helix/recipes/rabbitmq/ConsumerStateModel.java (1 line): - line 98: // TODO Auto-generated catch block helix-rest/src/main/java/org/apache/helix/rest/server/service/InstanceServiceImpl.java (1 line): - line 55: // TODO: too many params, convert to builder pattern helix-core/src/main/java/org/apache/helix/controller/rebalancer/strategy/ConstraintRebalanceStrategy.java (1 line): - line 94: * TODO Enable different constraints for automatic rebalance process in the controller later. helix-core/src/main/java/org/apache/helix/tools/commandtools/ZkLogCSVFormatter.java (1 line): - line 77: // TODO Auto-generated catch block helix-core/src/main/java/org/apache/helix/controller/stages/ExternalViewComputeStage.java (1 line): - line 103: // TODO: consider not setting the externalview of SCHEDULER_TASK_QUEUE at all. zookeeper-api/src/main/java/org/apache/helix/zookeeper/introspect/CodehausJacksonIntrospector.java (1 line): - line 47: // TODO: remove this class once upgrading to Jackson 2.x in ZNRecord helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/JobQueueResource.java (1 line): - line 93: // TODO: fix this to use workflowConfig. helix-core/src/main/java/org/apache/helix/task/ThreadCountBasedTaskAssignmentCalculator.java (1 line): - line 103: // TODO: Do this with Quota Manager is ready helix-core/src/main/java/org/apache/helix/model/LiveInstance.java (1 line): - line 105: * TODO This field should be "SessionId", we used getEphemeralOwner to avoid conflict with the existing method. helix-core/src/main/java/org/apache/helix/model/builder/ConstraintItemBuilder.java (1 line): - line 102: // TODO: check if constraint-item is valid helix-core/src/main/java/org/apache/helix/task/UserContentStore.java (1 line): - line 28: * TODO: This class should be merged to Task interface when Helix bump up to Java 8 helix-core/src/main/java/org/apache/helix/monitoring/mbeans/ClusterMBeanObserver.java (1 line): - line 36: * TODO: this class should be in espresso common, as the only usage of it is helix-core/src/main/java/org/apache/helix/tools/ZnodeOpArg.java (1 line): - line 140: // TODO temp test; remove it helix-core/src/main/java/org/apache/helix/task/TaskState.java (1 line): - line 56: * TODO: also use this for the task helix-core/src/main/java/org/apache/helix/monitoring/mbeans/StateTransitionStatMonitor.java (1 line): - line 39: // TODO convert StateTransitionStatMonitor to extends DynamicMBeanProvider. helix-agent/src/main/java/org/apache/helix/agent/ProcessMonitorThread.java (1 line): - line 61: // TODO need to find the exit value of pid and kill the pid on timeout helix-core/src/main/java/org/apache/helix/manager/zk/client/ZkConnectionManager.java (1 line): - line 53: // TODO ideally, we shall have a ClosableWatcher interface so as to check accordingly. -- JJ recipes/rabbitmq-consumer-group/src/main/java/org/apache/helix/recipes/rabbitmq/Emitter.java (1 line): - line 43: // TODO: handle exception helix-core/src/main/java/org/apache/helix/task/WorkflowContext.java (1 line): - line 49: StartTime, // TODO this should be named JOB_SCHEDULED_START_TIME, it's not the actual start time of the job helix-core/src/main/java/org/apache/helix/controller/rebalancer/waged/model/ClusterContext.java (1 line): - line 111: // TODO: these variables correspond to one constraint each, and may become unnecessary if the helix-core/src/main/java/org/apache/helix/model/Alerts.java (1 line): - line 121: // TODO Auto-generated method stub helix-core/src/main/java/org/apache/helix/GroupCommit.java (1 line): - line 33: // TODO: move to mananger.zk helix-core/src/main/java/org/apache/helix/util/ZNRecordUtil.java (1 line): - line 33: //TODO find a proper place for these methods helix-core/src/main/java/org/apache/helix/monitoring/mbeans/MonitorLevel.java (1 line): - line 25: * TODO This config only applies to HelixManager's ZkClient related metrics only for now. Shall apply monitor level to the other metrics if necessary. helix-core/src/main/java/org/apache/helix/messaging/handling/HelixTask.java (1 line): - line 269: TODO On frequent cross clsuter messaging request, keeping construct data accessor may cause helix-core/src/main/java/org/apache/helix/tools/commandtools/ZkGrep.java (1 line): - line 357: // TODO impl this recipes/rabbitmq-consumer-group/src/main/java/org/apache/helix/recipes/rabbitmq/StartClusterManager.java (1 line): - line 50: // TODO Auto-generated catch block recipes/rsync-replicated-file-system/src/main/java/org/apache/helix/filestore/StartClusterManager.java (1 line): - line 50: // TODO Auto-generated catch block zookeeper-api/src/main/java/org/apache/helix/zookeeper/datamodel/serializer/ZNRecordJacksonSerializer.java (1 line): - line 37: // TODO: remove it after upgrading ZNRecord's annotations to Jackson 2 helix-core/src/main/java/org/apache/helix/tools/DefaultIdealStateCalculator.java (1 line): - line 449: // TODO: take weight into account when calculate this helix-core/src/main/java/org/apache/helix/controller/stages/TargetExteralViewCalcStage.java (1 line): - line 122: // TODO (HELIX-964): remove TEV when idealstate is removed helix-core/src/main/java/org/apache/helix/task/WorkflowDispatcher.java (1 line): - line 279: // TODO: Part of isJobReadyToSchedule() is already done by RuntimeJobDag. Because there is helix-core/src/main/java/org/apache/helix/tools/StateModelConfigGenerator.java (1 line): - line 31: // TODO refactor to use StateModelDefinition.Builder helix-core/src/main/java/org/apache/helix/model/builder/StateTransitionTableBuilder.java (1 line): - line 154: // TODO move this to test helix-rest/src/main/java/org/apache/helix/rest/server/resources/helix/PerInstanceAccessor.java (1 line): - line 130: // TODO reduce GC by dependency injection helix-core/src/main/java/org/apache/helix/HelixDataAccessor.java (1 line): - line 201: * TODO: change to use property-keys instead of paths helix-core/src/main/java/org/apache/helix/BaseDataAccessor.java (1 line): - line 313: * TODO refactor this. reset() should not be in data accessor zookeeper-api/src/main/java/org/apache/helix/zookeeper/impl/client/SharedZkClient.java (1 line): - line 92: // TODO: Rename HelixZkClient in the future or remove it entirely - this will be a backward-compatibility breaking change because HelixZkClient is being used by Helix users. zookeeper-api/src/main/java/org/apache/helix/zookeeper/routing/HttpZkFallbackRoutingDataReader.java (1 line): - line 58: // TODO: increment failure count and emit as a metric helix-core/src/main/java/org/apache/helix/controller/dataproviders/WorkflowControllerDataProvider.java (1 line): - line 78: // TODO read and update CURRENT_STATE in the BaseControllerDataProvider as well. helix-rest/src/main/java/org/apache/helix/rest/server/ServerContext.java (1 line): - line 74: // TODO: Only read (deserialize) is supported at this time. This baseDataAccessor should support write (serialize) as needs arise helix-core/src/main/java/org/apache/helix/controller/rebalancer/waged/WagedInstanceCapacity.java (1 line): - line 72: // TODO: Currently, we don't allow double-accounting. But there may be helix-lock/src/main/java/org/apache/helix/lock/helix/HelixLockScope.java (1 line): - line 69: //TODO: Enrich the logic of path generation once we have a more detailed design helix-rest/src/main/java/org/apache/helix/rest/common/datamodel/RestSnapShot.java (1 line): - line 35: // TODO: Future: Support hierarchical Snapshot type for other services besides cluster MaintenanceService. meta-client/src/main/java/org/apache/helix/metaclient/constants/MetaClientConstants.java (1 line): - line 29: //TODO The value should be the same as Helix default ZK retry time. Modify when change #2293 merged helix-core/src/main/java/org/apache/helix/controller/rebalancer/waged/model/AssignableReplica.java (1 line): - line 34: * TODO: This class is violating the contracts of {@link Object#hashCode()} helix-core/src/main/java/org/apache/helix/manager/zk/ZkBucketDataAccessor.java (1 line): - line 384: // TODO: Should be batch delete but it doesn't work. It's okay since this runs async helix-rest/src/main/java/org/apache/helix/rest/server/service/ClusterService.java (1 line): - line 28: * TODO add more business logic and simplify the workload on ClusterAccessor helix-core/src/main/java/org/apache/helix/messaging/handling/HelixBatchMessageTask.java (1 line): - line 123: // TODO: implement this method if need for batch message cancel helix-rest/src/main/java/org/apache/helix/rest/common/HelixRestNamespace.java (1 line): - line 102: // TODO: add more strict validation for NAME as this will be part of URL helix-front/src/app/history/history-list/history-list.component.ts (1 line): - line 15: // FIXME: have to turn off shadow dom or .current-controller won't work helix-core/src/main/java/org/apache/helix/tools/ClusterExternalViewVerifier.java (1 line): - line 161: // TODO all ideal-states should be included in external-views zookeeper-api/src/main/java/org/apache/helix/zookeeper/zkclient/ZkConnection.java (1 line): - line 303: // TODO: handle it in a better way without throwing CONNECTIONLOSS helix-core/src/main/java/org/apache/helix/model/ConstraintItem.java (1 line): - line 88: // TODO: what if attributes.get(key)==null? might need match function at constrait level helix-core/src/main/java/org/apache/helix/model/HealthStat.java (1 line): - line 143: // TODO Auto-generated method stub helix-common/src/main/java/org/apache/helix/constants/InstanceConstants.java (1 line): - line 20: * TODO: Remove this when the deprecated HELIX_ENABLED is removed. helix-admin-webapp/src/main/java/org/apache/helix/webapp/resources/ControllerStatusUpdateResource.java (1 line): - line 56: // TODO: need pass sessionId to this represent() helix-view-aggregator/src/main/java/org/apache/helix/view/dataprovider/SourceClusterDataProvider.java (1 line): - line 198: // TODO: in case of FINALIZE, if we are not shutdown, re-connect helix manager and report error helix-core/src/main/java/org/apache/helix/HelixConstants.java (1 line): - line 26: // TODO: ChangeType and PropertyType are duplicated, consider unifying meta-client/src/main/java/org/apache/helix/metaclient/policy/ExponentialBackoffReconnectPolicy.java (1 line): - line 56: // TODO: Allow user to pass maxBackOffInterval and initBackoffInterval. helix-rest/src/main/java/org/apache/helix/rest/clusterMaintenanceService/StoppableInstancesSelector.java (1 line): - line 226: // TODO: Use instance config from Helix-rest Cache to get the zone instead of reading the topology info helix-core/src/main/java/org/apache/helix/model/PersistentStats.java (1 line): - line 125: // TODO Auto-generated method stub recipes/rabbitmq-consumer-group/src/main/java/org/apache/helix/recipes/rabbitmq/ConsumerThread.java (1 line): - line 78: // TODO Auto-generated catch block helix-core/src/main/java/org/apache/helix/monitoring/ZKPathDataDumpTask.java (1 line): - line 63: // TODO: for now the status updates are dumped to cluster manager log4j log. helix-core/src/main/java/org/apache/helix/model/AlertStatus.java (1 line): - line 109: // TODO Auto-generated method stub helix-core/src/main/java/org/apache/helix/cloud/azure/AzureCloudInstanceInformationProcessor.java (1 line): - line 71: //TODO: we should regularize the way how httpClient should be used throughout Helix. e.g. Helix-rest could also use in the same way helix-front/src/app/cluster/cluster-detail/cluster-detail.component.ts (1 line): - line 210: // FIXME: should reload cluster list as well zookeeper-api/src/main/java/org/apache/helix/zookeeper/datamodel/serializer/ZNRecordSerializer.java (1 line): - line 44: // TODO: remove it after upgrading ZNRecord's annotations to Jackson 2 meta-client/src/main/java/org/apache/helix/metaclient/api/ChildChangeListener.java (1 line): - line 25: * TODO: add type for persist listener is removed helix-rest/src/main/java/org/apache/helix/rest/server/HelixRestMain.java (1 line): - line 148: // TODO: support specifying default namespace from config file helix-core/src/main/java/org/apache/helix/controller/stages/MessageGenerationPhase.java (1 line): - line 199: // TODO: separate logic of resource/task message generation helix-core/src/main/java/org/apache/helix/model/StateModelDefinition.java (1 line): - line 260: // TODO move this to model.builder package, refactor StateModelConfigGenerator to use this meta-client/src/main/java/org/apache/helix/metaclient/api/ConnectStateChangeListener.java (1 line): - line 37: // TODO: Consider add a callback for new connection when we add support for session ID. helix-core/src/main/java/org/apache/helix/tools/ClusterVerifiers/BestPossibleExternalViewVerifier.java (1 line): - line 477: // TODO: to clean up, finalize is deprecated in Java 9 helix-core/src/main/java/org/apache/helix/messaging/handling/MultiTypeMessageHandlerFactory.java (1 line): - line 31: // TODO remove this default implementation for backward compatibility when clean up the legacy code. meta-client/src/main/java/org/apache/helix/metaclient/datamodel/DataRecord.java (1 line): - line 28: * TODO: Create an interface to decouple DataRecord and have a pluggable record store. helix-core/src/main/java/org/apache/helix/participant/statemachine/ScheduledTaskStateModel.java (1 line): - line 37: // TODO Get default state from implementation or from state model annotation helix-core/src/main/java/org/apache/helix/manager/zk/DefaultParticipantErrorMessageHandlerFactory.java (1 line): - line 74: // TODO : consider unify this with StatsAggregationStage.executeAlertActions() helix-core/src/main/java/org/apache/helix/model/ClusterConstraints.java (1 line): - line 187: // TODO Auto-generated method stub helix-core/src/main/java/org/apache/helix/model/MaintenanceSignal.java (1 line): - line 109: * TODO: Consider using modifiedTime in ZK Stat object. recipes/rabbitmq-consumer-group/src/main/java/org/apache/helix/recipes/rabbitmq/Consumer.java (1 line): - line 65: // TODO Auto-generated catch block meta-client/src/main/java/org/apache/helix/metaclient/factories/MetaClientConfig.java (1 line): - line 72: // TODO: More options to add later helix-front/src/app/resource/shared/resource.model.ts (1 line): - line 30: // TODO vxu: convert it to an enum in future if necessary