service/history/execution/mutable_state_builder.go (15 lines): - line 126: // TODO: remove this struct after all 2DC workflows complete - line 144: // TODO: persist this to db - line 344: // TODO: remove this after all 2DC workflows complete - line 582: // TODO: remove this after all 2DC workflows complete - line 613: // TODO: remove this after all 2DC workflows complete - line 1122: // TODO: decide if we can add execution time in execution info. - line 2035: // TODO: we will release the restriction when reset API allow those pending - line 2876: // TODO: Evaluate if we need cancelRequestID also part of history event - line 2993: // TODO: Consider also writing signalRequestID to history event - line 3171: // TODO: Time skew need to be taken in to account. - line 3965: // TODO mutable state should generate corresponding transfer / timer tasks according to - line 3968: // TODO convert AddTransferTasks to prepareTransferTasks - line 3982: // TODO convert AddTimerTasks to prepareTimerTasks - line 4153: // TODO do we need the functionality to generate snapshot with buffered events? - line 4697: // TODO: This will be removed once our reset allows childWFs service/history/task/transfer_active_task_executor.go (9 lines): - line 267: // TODO: for normal decision, we don't know if there's a scheduleToStart - line 347: // TODO: this helper function performs three operations: - line 609: // TODO: handle the case where target domain does not exist - line 716: // TODO: here we should also RemoveSignalMutableState from target workflow - line 728: // TODO: handle the case where target domain does not exist - line 870: // TODO: handle the case where target domain does not exist - line 932: // TODO: we should also handle domain not exist error here - line 1143: // TODO: current reset doesn't allow childWFs, in the future we will release this restriction - line 1525: // TODO: we don't have to do this check here, as we hold the mutable state lock common/dynamicconfig/constants.go (9 lines): - line 1400: // TODO: https://github.com/uber/cadence/issues/3861 - line 1405: // TODO: https://github.com/uber/cadence/issues/3861 - line 1762: // Only implemented for single SQL database. TODO https://github.com/uber/cadence/issues/4064 for supporting multiple/sharded SQL database and NoSQL - line 1923: // TODO: https://github.com/uber/cadence/issues/3861 - line 1928: // TODO: https://github.com/uber/cadence/issues/3861 - line 1933: // TODO: https://github.com/uber/cadence/issues/3861 - line 1943: // TODO: https://github.com/uber/cadence/issues/3861 - line 2181: // TODO: https://github.com/uber/cadence/issues/3861 - line 2186: // TODO: https://github.com/uber/cadence/issues/3861 common/persistence/data_manager_interfaces.go (6 lines): - line 79: // TODO we can remove it after fixing all the query templates and when - line 338: ExpirationSeconds int32 // TODO: is this field useful? - line 348: // TODO: remove this struct after all 2DC workflows complete - line 490: ReplicationState *ReplicationState // TODO: remove this after all 2DC workflows complete - line 1087: // TODO: replace this with an iterator that can configure min and max index. - line 1759: // TODO: do we really need to deep copy those fields? common/config/config.go (6 lines): - line 180: // TODO This config doesn't belong here, needs refactoring - line 184: // TODO: move dynamic config out of static config - line 187: // TODO: move dynamic config out of static config - line 349: // TODO can we remove it? - line 358: // TODO can we remove it? - line 661: // TODO: remove this at the point when we decided to make some breaking changes in config. common/persistence/serialization/interfaces.go (5 lines): - line 65: Name string // TODO: This field seems not to be required. We already store domain name in another column. - line 86: FailoverEndTimestamp *time.Time // TODO: There is logic checking if it's nil, should revisit this - line 115: CompletionEventBatchID *int64 // TODO: This is not updated because of backward compatibility issue. Should revisit it later. - line 127: LastWriteEventID *int64 // TODO: We have logic checking if LastWriteEventID != nil. The field seems to be deprecated. Should revisit it later. - line 302: TimeoutType *int16 // TODO: The default value for TimeoutType doesn't make sense. No equivalent value for nil. service/history/execution/context.go (5 lines): - line 66: // TODO: refactor those tests - line 729: // TODO remove updateCondition in favor of condition in mutable state - line 862: // TODO remove updateCondition in favor of condition in mutable state - line 1189: // TODO: is timeout error retryable for create workflow? - line 1296: // TODO: Call the Task Validation here so that it happens whenever an error happen during Update. service/worker/batcher/workflow.go (5 lines): - line 89: // TODO https://github.com/uber/cadence/issues/2159 - line 97: // TODO https://github.com/uber/cadence/issues/2159 - line 135: // TODO we will implement smarter way than this static rate limiter: https://github.com/uber/cadence/issues/2138 - line 314: // TODO https://github.com/uber/cadence/issues/2154 - line 514: // TODO https://github.com/uber/cadence/issues/2159 common/persistence/sql/sqlplugin/interfaces.go (5 lines): - line 196: ShardID int // this is DBShardID, not historyShardID (TODO: maybe rename it for clarification) - line 225: ShardID int // this is DBShardID, not historyShardID (TODO: maybe rename it for clarification) - line 244: ShardID int // this is DBShardID, not historyShardID (TODO: maybe rename it for clarification) - line 262: ShardID int // this is DBShardID, not historyShardID (TODO: maybe rename it for clarification) - line 674: // TODO: add cross-cluster tasks methods service/history/engine/engineimpl/historyEngine.go (4 lines): - line 1669: // TODO: we need to consider adding execution time to mutable state - line 1719: // TODO: move to mutable state instead of loading it from event - line 3055: // TODO: consider defining a new interface in persistence package - line 3536: // TODO when https://github.com/uber/cadence/issues/2420 is finished, remove this block, service/matching/matchingEngine.go (4 lines): - line 58: // TODO: Switch implementation from lock/channel based to a partitioned agent - line 451: // TODO: Is empty poll the best reply for errPumpClosed? - line 467: // TODO: Maybe add history expose here? - line 578: // TODO: Is empty poll the best reply for errPumpClosed? service/history/task/task.go (4 lines): - line 85: // TODO: following three fields should be removed after new task lifecycle is implemented - line 187: // TODO: after mergering active and standby queue, - line 300: // TODO remove this error check special case - line 413: // TODO: for now only resubmit active task on Nack() common/persistence/sql/sql_execution_store_util.go (3 lines): - line 55: // TODO Remove me if UPDATE holds the lock to the end of a transaction - line 220: // TODO Is there a way to modify the various map tables without fear of other people adding rows after we delete, without locking the executions row? - line 1352: // TODO: this case seems to be always false service/history/replication/task_processor.go (3 lines): - line 277: // TODO: when we support prefetching, LastRetrievedMessageID can be different than LastProcessedMessageID - line 300: // TODO: move to MultiStageRateLimiter - line 432: // TODO: uncomment this when the execution fixer workflow is ready service/history/reset/resetter.go (3 lines): - line 224: // TODO right now only signals are eligible for reapply, so we can directly skip the whole reapply process - line 462: // TODO change this logic to fetching all workflow [baseWorkflow, currentWorkflow] - line 535: // TODO change this logic to fetching all workflow [baseWorkflow, currentWorkflow] service/history/decision/task_handler.go (3 lines): - line 533: // TODO: serialize reason somehow, may deserve a new field / wrapped errors - line 611: // TODO deletion of timer fired event refreshing hasUnhandledEventsBeforeDecisions - line 811: Details: nil, // TODO: serialize continue-as-new data somehow, may deserve a new field common/persistence/nosql/nosqlplugin/cassandra/visibility.go (3 lines): - line 41: // TODO: Cassandra implementation ignores search attributes - line 88: // TODO implement it when where is a need - line 514: // TODO: may return badRequestError service/frontend/api/handler.go (3 lines): - line 147: // TODO: Get warmup duration from config. Even better, run proactive checks such as probing downstream connections. - line 366: // TODO: call remote clusters to verify domain data - line 2082: // TODO: for now we only log the invalid timeout (this is done inside the helper function) in case service/history/execution/cache.go (3 lines): - line 136: // TODO This will create a closure on every request. - line 234: // TODO This will create a closure on every request. - line 297: // TODO see issue #668, there are certain type or errors which can bypass the clear common/reconciliation/invariant/staleWorkflow.go (3 lines): - line 163: // TODO: ^ similar check for current record? Bad-current can sometimes block a different concrete. - line 197: // TODO: handle current deletion? - line 258: // TODO: what exactly is zombie? seems like probably "current but no concrete" but I'm surprised this is in the state. common/persistence/nosql/nosql_execution_store_util.go (3 lines): - line 597: // TODO: remove this logic once all workflows before 0.26.x are completed - line 604: // TODO also need to set the start / current / last write version - line 635: // TODO: remove this logic once all workflows before 0.26.x are completed common/persistence/sql/sql_history_store.go (3 lines): - line 170: // TODO the inner pagination token can be replaced by a dummy token - line 461: // TODO: Limit the underlying query to a specific shard at a time. See https://github.com/uber/cadence/issues/4064 - line 516: // TODO: this is broken for multi-sharding: the shardID should increase if there are less rows than request pageSize, host/service.go (2 lines): - line 50: // TODO: Service contains many methods that are not used now that we have resource bean, these should be cleaned up - line 102: // TODO: have a better name for Service. common/persistence/nosql/nosqlplugin/interfaces.go (2 lines): - line 253: // TODO deprecated this in the future in favor of SelectVisibility - line 273: // TODO separate in the future when need it tools/cli/admin.go (2 lines): - line 477: // TODO: do we still need this command given that kafka replication has been deprecated? - line 517: // TODO: move this command be a subcommand of admin workflow service/history/execution/mutable_state_task_generator.go (2 lines): - line 310: // TODO EventID seems not used at all - line 433: // TODO remove this block after Mar, 1th, 2020 common/config/cluster.go (2 lines): - line 155: // TODO: remove this after 0.23 and mention a breaking change in config. - line 161: // TODO: remove this after 0.23 and mention a breaking change in config. service/history/task/timer_task_executor_base.go (2 lines): - line 118: // TODO: @ycyang once archival backfill is in place cluster:paused && domain:enabled should be a nop rather than a delete - line 307: // TODO: expose GetVisibilityManager method on shardContext interface common/metrics/defs.go (2 lines): - line 809: // TODO: move them to internal repo once cadence plugin model is in place. - line 2126: // TODO: move them to internal repo once cadence plugin model is in place. common/persistence/historyManager.go (2 lines): - line 425: // TODO: consider if it's possible to remove this branch - line 505: // TODO: in this case, some events returned can be invalid(stale). application layer need to make sure it won't make any problems to XDC service/history/queue/interface.go (2 lines): - line 64: // TODO: add Offload() method - line 85: // TODO: add Offload() method common/persistence/nosql/nosqlplugin/cassandra/admin.go (2 lines): - line 73: // TODO: should we remove the second condition? - line 84: // TODO: should we remove the second condition? tools/cli/domain_utils.go (2 lines): - line 72: // TODO when https://github.com/urfave/cli/pull/392 & v2 is released - line 128: // TODO when https://github.com/urfave/cli/pull/392 & v2 is released service/history/decision/handler.go (2 lines): - line 56: // TODO also include the handle of decision timeout here - line 516: // TODO: replace the poll request canary/batch.go (2 lines): - line 44: // TODO: to get rid of them: - line 56: // TODO: to get rid of it: service/history/queue/processing_queue.go (2 lines): - line 45: metricsClient metrics.Client // TODO: emit metrics - line 187: // TODO: this means the task has been submitted before, we should mark the task state accordingly and proto/persistenceblobs/v1/message.proto (2 lines): - line 1033: // TODO: deprecate once NDC migration is done. - line 1037: // TODO: deprecate once kafka deprecation is done. service/history/queue/processor_base.go (2 lines): - line 44: updateClusterAckLevelFn func(task.Key) error // TODO: deprecate this in favor of updateProcessingQueueStatesFn - line 161: // TODO: consider move pendingTasksTime metrics from shardInfoScope to queue processor scope common/types/mapper/proto/api.go (1 line): - line 4453: InitiatedId: common.Int64Default(initiatedID), // TODO: we need to figure out whetherrr this field is needed or not common/persistence/versionHistory.go (1 line): - line 477: // TODO maybe we need more strict validation common/persistence/nosql/nosqlplugin/mongodb/plugin.go (1 line): - line 62: // TODO CreateDB/CreateAdminDB don't pass in context.Context so we are using background for now common/persistence/data_store_interfaces.go (1 line): - line 345: ReplicationState *ReplicationState // TODO: remove this after all 2DC workflows complete common/persistence/operationModeValidator.go (1 line): - line 212: // TODO remove case 1 & 2 support once 2DC is deprecated common/collection/pagingIterator.go (1 line): - line 38: // TODO: this implementation should be removed in favor of pagination/iterator.go common/persistence/jsonHistoryTokenSerializer.go (1 line): - line 30: // TODO remove LastEventVersion once 3+DC is enabled for all workflow service/history/ndc/new_workflow_transaction_manager.go (1 line): - line 259: // TODO: add functional test for this case. service/history/shard/controller.go (1 line): - line 71: // TODO: consider converting to a unified describe method service/history/task/timer_standby_task_executor.go (1 line): - line 108: // TODO: add error logs common/persistence/sql/sqlplugin/postgres/admin.go (1 line): - line 59: // TODO https://github.com/uber/cadence/issues/2893 common/persistence/nosql/nosqlplugin/cassandra/workflow.go (1 line): - line 195: // TODO: remove this after all 2DC workflows complete common/persistence/tasks.go (1 line): - line 207: EventID int64 // TODO this attribute is not used? service/history/ndc/transaction_manager.go (1 line): - line 319: // TODO when https://github.com/uber/cadence/issues/2420 is finished, remove this block, common/persistence/nosql/nosqlplugin/cassandra/domain.go (1 line): - line 483: // TODO ??? really???? common/persistence/nosql/nosql_execution_store.go (1 line): - line 214: // TODO: ?? would it change at all ?? common/persistence/sql/sql_execution_store.go (1 line): - line 1444: // TODO: remove this after all 2DC workflows complete service/history/task/timer_active_task_executor.go (1 line): - line 643: // TODO remove this block after Mar, 1th, 2020 schema/cassandra/cadence/schema.cql (1 line): - line 116: -- TODO: Remove fields that are left over from activity and workflow tasks. client/history/client.go (1 line): - line 1100: // TODO: consider emitting a metric for number of redirects common/persistence/nosql/nosqlplugin/cassandra/workflow_utils.go (1 line): - line 977: // TODO: if possible, remove it in the future or add more comment of why we need this conversion common/elasticsearch/interfaces.go (1 line): - line 108: // TODO remove it in https://github.com/uber/cadence/issues/3682 common/persistence/nosql/nosqlplugin/cassandra/workflow_cql.go (1 line): - line 275: // TODO: remove replication_state after all 2DC workflows complete service/history/replication/task_fetcher.go (1 line): - line 40: // TODO: reuse the interface and implementation defined in history/task package service/history/shard/context.go (1 line): - line 1594: // TODO remove once migrated to global event cache common/persistence/sql/factory.go (1 line): - line 121: // TODO sortByCloseTime will be removed and implemented for https://github.com/uber/cadence/issues/3621 common/domain/attrValidator.go (1 line): - line 94: // TODO: https://github.com/uber/cadence/issues/4345 add checking for "pending active" as well service/history/ndc/replication_task.go (1 line): - line 322: // TODO add validation on version history common/constants.go (1 line): - line 183: // TODO: we can remove +2 from the following definition bench/worker.go (1 line): - line 126: // TODO: do we need these limits? tools/cli/workflow.go (1 line): - line 330: // TODO https://github.com/uber/cadence/issues/2930 service/matching/pollerHistory.go (1 line): - line 88: // TODO add IP, T1396795 bench/load/cancellation/workflow.go (1 line): - line 357: // TODO: uncomment the following check after cancellation test is rewritten. common/persistence/sql/sqlplugin/postgres/typeconv.go (1 line): - line 31: // TODO https://github.com/uber/cadence/issues/2892 common/persistence/client/factory.go (1 line): - line 89: // TODO We temporarily using sortByCloseTime to determine whether or not ListClosedWorkflowExecutions should common/elasticsearch/client/client.go (1 line): - line 47: // @TODO consider to extract Bulk Processor as a separate entity tools/sql/clitest/connTest.go (1 line): - line 80: // TODO refactor the whole package to support testing against Postgres common/persistence/sql/sqlplugin/mysql/plugin.go (1 line): - line 127: // TODO: create a way to set MinVersion and CipherSuites via cfg. service/history/task/task_util.go (1 line): - line 376: // TODO: refactor loadMutableStateForXXXTask function implementation to avoid duplication common/log/tag/tags.go (1 line): - line 911: // TODO: move them to internal repo once cadence plugin model is in place. schema/cassandra/cadence/versioned/v0.1/base.cql (1 line): - line 43: -- TODO: Remove fields that are left over from activity and workflow tasks. service/history/task/cross_cluster_source_task_executor.go (1 line): - line 440: // TODO: here we should also RemoveSignalMutableState from target workflow tools/sql/conn.go (1 line): - line 77: // TODO pass in context timeout value from command line param host/onebox.go (1 line): - line 579: // TODO: this is not correct when there are multiple history hosts as later client will overwrite previous ones. common/persistence/nosql/nosqlplugin/cassandra/workflow_parsing_utils.go (1 line): - line 185: // TODO: remove this after all 2DC workflows complete common/persistence/sql/sql_task_store.go (1 line): - line 550: // TODO: Limit this query to a specific shard at a time. See https://github.com/uber/cadence/issues/4064 service/history/task/cross_cluster_task.go (1 line): - line 736: // TODO: we should check the TargetDomainIDs field tools/cli/workflow_commands.go (1 line): - line 935: // TODO: Idea here is only display decision task original scheduled timestamp if user are service/matching/forwarder.go (1 line): - line 257: // TODO: consider having separate token pools for different isolation groups host/testcluster.go (1 line): - line 290: // TODO refactor to support other NoSQL common/testing/history_event_util.go (1 line): - line 534: // TODO: bypass activity cancel request event. Support this event later. service/history/queue/transfer_queue_validator.go (1 line): - line 139: // TODO: implement an event logger for queue processor and dump all events when this validation fails. common/elasticsearch/common.go (1 line): - line 31: // TODO https://github.com/uber/cadence/issues/3686 common/persistence/nosql/nosql_task_store.go (1 line): - line 66: // TODO: It's unclear if this's necessary or possible for NoSQL bench/load/cron/workflow.go (1 line): - line 190: // TODO: it's possible that the launcher workflow is started by another cron service/history/task/transfer_standby_task_executor.go (1 line): - line 112: // TODO: add error logs schema/cassandra/cadence/versioned/s0.0-0.23/schema_0_23.cql (1 line): - line 99: -- TODO: Remove fields that are left over from activity and workflow tasks. service/history/config/config.go (1 line): - line 256: // TODO https://github.com/uber/cadence/issues/2357 canary/canary.go (1 line): - line 159: // TODO: improvement: compare the cron schedule to decide whether or not terminating the current one service/history/queue/timer_queue_processor.go (1 line): - line 273: // TODO: Below Add call has no effect, understand the underlying intent and fix it. service/worker/scanner/executions/current_execution.go (1 line): - line 151: // TODO: yes, this DOES incorrectly use the concrete execution fixer manager, which does not work. common/elasticsearch/bulk/backoff.go (1 line): - line 31: // TODO https://github.com/uber/cadence/issues/3676 service/frontend/admin/handler.go (1 line): - line 1370: // TODO currently, this API is only going to be used by re-send history events service/matching/taskReader.go (1 line): - line 197: // TODO: Should we ever stop retrying on db errors? service/history/workflow/util.go (1 line): - line 180: // TODO: deprecate and use UpdateWithActionFunc service/history/execution/mutable_state_decision_task_manager.go (1 line): - line 385: // TODO: https://github.com/uber/cadence/issues/2357: service/matching/taskListManager.go (1 line): - line 246: // TODO: we don't see this error in our logs, we might be able to remove this error common/messaging/kafka/producer_impl.go (1 line): - line 59: // TODO implement context when https://github.com/Shopify/sarama/issues/1849 is supported common/quotas/global/algorithm/requestweighted.go (1 line): - line 465: // TODO: too costly? can check the first-N% each time and it'll eventually visit all keys, demonstrated in tests. common/archiver/provider/init.go (1 line): - line 35: // TODO: ideally remove this and handle per-instance registration during startup somehow, common/persistence/execution_manager.go (1 line): - line 89: ReplicationState: response.State.ReplicationState, // TODO: remove this after all 2DC workflows complete common/authorization/oauthAuthorizer.go (1 line): - line 65: TTL int64 // TODO should be removed. ExpiresAt should be used bench/lib/config.go (1 line): - line 62: // TODO: add comment for each config field common/domain/dlqMessageHandler.go (1 line): - line 191: // TODO: service/history/decision/checker.go (1 line): - line 341: // TODO: uncomment the following code when the client side bug for calculating scheduleToClose deadline is fixed and