buildSrc/src/main/groovy/org/apache/beam/gradle/BeamModulePlugin.groovy (10 lines): - line 374: // TODO: Should this only apply to Java projects? - line 740: // TODO: Figure out whether this should be a test scope dependency - line 953: // TODO: Either remove these plugins and find another way to generate the Maven poms - line 1111: // TODO: Enforce all relocations are always performed to: - line 1449: // TODO: Should we use the runtime scope instead of the compile scope - line 1477: // TODO: Load this from file? - line 1527: // TODO: Figure out whether we should force all dependency conflict resolution - line 1915: // TODO: Decide whether this should be inlined into the one project that relies on it - line 2375: // TODO: Figure out GCS credentials and use real GCS input and output. - line 2412: // TODO: Check that the output file is generated and runs. runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/fn/control/RegisterAndProcessBundleOperation.java (10 lines): - line 167: // TODO: Handle the case of more than one input. - line 332: // TODO: Once we have access to windowing strategy via the ParDoPayload, add support to garbage - line 341: "TODO: [BEAM-2939] residual roots in process bundle response not yet supported."); - line 520: // TODO: Use EncodedWindow instead of decoding the window. - line 537: // TODO: Use the encoded representation of the key. - line 551: // TODO: Chunk the requests and use a continuation key to support side input values - line 553: // TODO: Use the raw value so we don't go through a decode/encode cycle for no reason. - line 575: // TODO: We should not be required to hold onto a pointer to the bag states for the - line 587: // TODO: Once we have access to the ParDoPayload, use its windowing strategy - line 652: // TODO: add cancel(boolean) to MoreFutures runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/state/StateRequestHandlers.java (9 lines): - line 63: *

TODO: Add a variant which works on {@link ByteString}s to remove encoding/decoding overhead. - line 94: *

TODO: Add support for side input chunking and caching if a {@link Reiterable} is returned. - line 113: *

TODO: Add support for side input chunking and caching if a {@link Reiterable} is returned. - line 121: *

TODO: Add support for side input chunking and caching if a {@link Reiterable} is returned. - line 197: *

TODO: Add support for bag user state chunking and caching if a {@link Reiterable} is - line 379: // TODO: Add support for continuation tokens when handling state if the handler - line 411: // TODO: Add support for continuation tokens when handling state if the handler - line 444: // TODO: Add support for continuation tokens when handling state if the handler - line 606: // TODO: Add support for continuation tokens when handling state if the handler sdks/java/extensions/sql/zetasql/src/main/java/org/apache/beam/sdk/extensions/sql/zetasql/translation/ExpressionConverter.java (9 lines): - line 345: // TODO: is there a better way to shared code for different cases of - line 381: // TODO: is there any other illegal case? - line 396: // TODO: Have extra verification here to make sure window start/end functions have the same - line 403: // TODO: in Calcite implementation, session window's start is equal to end. Need to fix it - line 411: // TODO: check window_end 's duration is the same as it's aggregate window. - line 582: // TODO: id - 1 might be only correct if the columns read from TableScan. - line 585: // TODO: can join key be NULL? - line 619: // TODO: check size and type of window function argument list. - line 886: // TODO: Structure CAST_OP so that we don't have to repeat the supported types sdks/java/extensions/sql/zetasql/src/main/java/org/apache/beam/sdk/extensions/sql/zetasql/translation/AggregateScanConverter.java (7 lines): - line 86: // TODO: add support for indicator - line 147: // TODO: remove duplicate columns in projects. - line 150: // TODO: handle aggregate function with more than one argument and handle OVER - line 151: // TODO: is there is general way for column reference tracking and deduplication for - line 159: // TODO: assume aggregate function's input is either a ColumnRef or a cast(ColumnRef). - line 160: // TODO: user might use multiple CAST so we need to handle this rare case. - line 250: // TODO: is there a general way to handle aggregation calls conversion? sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/spanner/StructUtils.java (7 lines): - line 117: // TODO: implement logical type date and timestamp - line 198: // TODO: implement logical type date and timestamp - line 269: // TODO: implement logical date and datetime - line 301: // TODO: implement logical datetime - line 304: // TODO: implement logical date - line 343: // TODO: implement logical datetime - line 348: // TODO: implement logical date runners/flink/src/main/java/org/apache/beam/runners/flink/FlinkStreamingPortablePipelineTranslator.java (6 lines): - line 222: // TODO Legacy transforms which need to be removed - line 614: // TODO: Fail on splittable DoFns. - line 615: // TODO: Special-case single outputs to avoid multiplexing PCollections. - line 638: // TODO: does it matter which output we designate as "main" - line 866: // TODO: local name is unique as long as only one transform with side input can be within a - line 899: // TODO: support custom mapping fn sdks/java/harness/src/main/java/org/apache/beam/fn/harness/state/FnApiStateAccessor.java (6 lines): - line 267: // TODO: Support prefetching. - line 313: // TODO: Support prefetching. - line 328: throw new UnsupportedOperationException("TODO: Add support for a map state to the Fn API."); - line 337: throw new UnsupportedOperationException("TODO: Add support for a map state to the Fn API."); - line 344: "TODO: Add support for a sorted-list state to the Fn API."); - line 359: // TODO: Support squashing accumulators depending on whether we know of all runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/WorkItemStatusClient.java (6 lines): - line 121: // TODO: Provide more structure representation of error, e.g., the serialized exception object. - line 122: // TODO: Look into moving the stack trace thinning into the client. - line 126: error.setCode(2); // Code.UNKNOWN. TODO: Replace with a generated definition. - line 127: // TODO: Attach the stack trace as exception details, not to the message. - line 155: // TODO: Find out a generic way for the DataflowWorkExecutor to report work-specific results - line 326: // TODO: Implement exactly-once delivery and use deltas, sdks/python/apache_beam/dataframe/frames.py (6 lines): - line 1228: # TODO: Replicate pd.DataFrame.__getitem__ logic - line 1916: # TODO: This could be implemented in a distributed fashion - line 2030: # TODO: Docs should note that the index is not in the same order as it would - line 2035: # TODO: Could do distributed re-index with offsets. - line 2238: # TODO: Add support for strings in (UN)LIFTABLE_AGGREGATIONS. Test by - line 2790: # TODO: non-trivial level? runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/environment/DockerCommand.java (6 lines): - line 52: // TODO: Should we require 64-character container ids? Docker technically allows abbreviated ids, - line 94: // TODO: Validate args? - line 114: // TODO: Validate args? - line 190: // TODO: Consider supplying executor service here. - line 218: // TODO: Retry on interrupt? - line 245: // TODO: Consider a stricter timeout. sdks/java/extensions/sql/src/main/java/org/apache/beam/sdk/extensions/sql/impl/nfa/NFA.java (5 lines): - line 38: // TODO: add support for more quantifiers: `?`, `{19, }` ... for now, support `+` and singletons - line 39: // TODO: sort conditions based on "the last identifier" during compilation - line 40: // TODO: add optimization for the NFA - line 99: // TODO: add support for after match strategy - line 600: // TODO: add implementation. for now, return the current row runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/SimpleParDoFn.java (5 lines): - line 79: // TODO: Remove once Distributions has shipped. - line 158: // TODO: Remove once Distributions has shipped. - line 163: // TODO: Remove log statement when functionality is enabled by default. - line 266: // TODO: plumb through the operationName, so that we can - line 269: // TODO: plumb through the counter prefix, so we can sdks/python/apache_beam/dataframe/schemas.py (5 lines): - line 57: #TODO: Mapping for date/time types - line 236: # TODO: Only do null checks for nullable types - line 247: # TODO: Avoid materializing the rows. Produce an object that references the - line 288: # TODO: Should the index ever be included for a Series? - line 300: # TODO: What about scalar inputs? runners/flink/src/main/java/org/apache/beam/runners/flink/translation/wrappers/streaming/ExecutableStageDoFnOperator.java (5 lines): - line 130: *

TODO Integrate support for progress updates and metrics - line 236: // TODO: Wire this into the distributed cache and make it pluggable. - line 237: // TODO: Do we really want this layer of indirection when accessing the stage bundle factory? - line 996: // TODO: Support propagating the PaneInfo through. - line 1010: // TODO: it would be nice to emit results as they arrive, can thread wait non-blocking? sdks/go/pkg/beam/model/fnexecution_v1/beam_fn_api.pb.go (4 lines): - line 21: // TODO: Usage of plural names in lists looks awkward in Java - line 24: // TODO: gRPC / proto field names conflict with generated code - line 33: // TODO: Consider consolidating common components in another package - line 2103: MultimapKeysSideInput *StateKey_MultimapKeysSideInput `protobuf:"bytes,5,opt,name=multimap_keys_side_input,json=multimapKeysSideInput,proto3,oneof"` // TODO: represent a state key for user map state runners/samza/src/main/java/org/apache/beam/runners/samza/translation/ParDoBoundMultiTranslator.java (4 lines): - line 226: // TODO: support side input - line 260: // TODO: support schema and side inputs for portable runner - line 336: // TODO: remove validation after we support same state id in different ParDo. - line 367: // TODO: Add beamStore configs when portable use case supports stateful ParDo. sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/pubsub/PubsubIO.java (4 lines): - line 479: // TODO: Stop using ProtoCoder and instead parse the payload directly. - line 491: // TODO: Stop using AvroCoder and instead parse the payload directly. - line 574: // TODO: Like in readProtos(), stop using ProtoCoder and instead format the payload directly. - line 583: // TODO: Like in readAvros(), stop using AvroCoder and instead format the payload directly. runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/graph/CreateExecutableStageNodeFunction.java (4 lines): - line 171: // TODO: create a correct windowing strategy, including coders and environment - line 181: // TODO: should get real WindowingStategy from pipeline proto. - line 333: // TODO: only the non-null branch should exist; for migration ease only - line 417: // TODO: Need to plumb through the SDK specific function spec. runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/graph/RegisterNodeFunction.java (4 lines): - line 199: // TODO: create a correct windowing strategy, including coders and environment - line 321: // TODO: only the non-null branch should exist; for migration ease only - line 383: // TODO: Need to plumb through the SDK specific function spec. - line 583: // TODO: We should not length prefix the window or key for the SDK side since the sdks/python/apache_beam/runners/portability/portable_runner.py (4 lines): - line 185: # TODO: Define URNs for options. - line 328: # TODO: https://issues.apache.org/jira/browse/BEAM-7199 - line 338: # TODO: https://issues.apache.org/jira/browse/BEAM-4678 - line 413: # TODO: https://issues.apache.org/jira/browse/BEAM-5525 runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/DataflowPipelineTranslator.java (4 lines): - line 731: // TODO: This should be done via a Structs accessor. - line 738: // TODO: This should be done via a Structs accessor. - line 928: // TODO: Add support for combiner lifting once the need arises. - line 956: // TODO: Allow combiner lifting on the non-default trigger, as appropriate. sdks/python/apache_beam/coders/coder_impl.py (4 lines): - line 699: # TODO: Fn Harness only supports millis. Is this important enough to fix? - line 744: TODO: SDK agnostic encoding - line 1148: # TODO: (BEAM-1537) Update to use an accurate count depending on size and - line 1153: # TODO: More efficient size estimation in the case of state-backed model/fn-execution/src/main/proto/beam_fn_api.proto (4 lines): - line 22: * TODO: Usage of plural names in lists looks awkward in Java - line 25: * TODO: gRPC / proto field names conflict with generated code - line 31: /* TODO: Consider consolidating common components in another package - line 731: // TODO: represent a state key for user map state runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/DataflowElementExecutionTracker.java (4 lines): - line 76: // TODO: Remove once feature has launched. - line 81: // TODO: Remove log statement when functionality is enabled by default. - line 281: // TODO: If possible, this should report tentative counter values before they are - line 293: // TODO: This algorithm is used to compute "per-element-processing-time" counter sdks/go/pkg/beam/io/databaseio/database.go (3 lines): - line 71: //TODO move DB Open and Close to Setup and Teardown methods or StartBundle and FinishBundle - line 156: //TODO move DB Open and Close to Setup and Teardown methods or StartBundle and FinishBundle - line 180: //TODO move to Setup methods sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/bigquery/BigQueryUtils.java (3 lines): - line 225: // TODO: BigQuery code should not be relying on Calcite metadata fields. If so, this belongs - line 572: // TODO deprecate toBeamRow(Schema, TableSchema, TableRow) function in favour of this function. - line 658: // TODO: BigQuery shouldn't know about SQL internal logical types. runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/GroupAlsoByWindowsParDoFn.java (3 lines): - line 60: // TODO: do not share this class, or refactor, in a way such that the guts need to do - line 114: // TODO: do not do this with an "if" - line 144: // TODO: call ReduceFnRunner.onTimers here, without all the intervening runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/util/DefaultCoderCloudObjectTranslatorRegistrar.java (3 lines): - line 86: // TODO: ElementAndRestrictionCoder. This is in runners-core, but probably needs to be - line 112: // TODO: WriteBundlesToFiles.ResultCoder.class); - line 113: // TODO: Atomic, GCPIO Coders: runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/environment/DockerEnvironmentFactory.java (3 lines): - line 101: // TODO: https://issues.apache.org/jira/browse/BEAM-4148 The default service address will not - line 204: // TODO: This host name seems to change with every other Docker release. Do we attempt to keep - line 273: // TODO: Make this more robust? runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/WriteFilesTranslation.java (3 lines): - line 73: // TODO: register the environment - line 255: // TODO: re-register the environment with the new components - line 261: // TODO: re-register the PCollections and UDF environments runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/fn/control/BeamFnMapTaskExecutor.java (3 lines): - line 189: // TODO: Remove streaming Dataflow's reliance on access to the "ReadOperation". - line 435: // TODO: Implement checkpointing - line 625: // TODO: Handle more than one sdk worker processing a single bundle. sdks/python/apache_beam/runners/dataflow/internal/apiclient.py (3 lines): - line 194: # TODO: Use enumerated type instead of strings for job types. - line 212: # TODO: Cleanup use_multiple_sdk_containers once we deprecate Python SDK - line 297: # TODO: set this correctly for remote environments that might be Python. runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/BeamFnMapTaskExecutorFactory.java (3 lines): - line 145: // TODO: remove this once we trust the code paths - line 186: // TODO: Set NameContext properly for these operations. - line 446: // TODO: Set NameContext properly for these operations. sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/bigtable/BigtableIO.java (3 lines): - line 358: // TODO: is there a better way to clone a Builder? Want it to be immune from user changes. - line 657: // TODO: is there a better way to clone a Builder? Want it to be immune from user changes. - line 1162: // TODO: In future, Bigtable service may provide finer grained APIs, e.g., to sample given a sdks/java/fn-execution/src/main/java/org/apache/beam/sdk/fn/data/BeamFnDataGrpcMultiplexer.java (3 lines): - line 50: *

TODO: Add support for multiplexing over multiple outbound observers by stickying the output - line 146: * TODO: On failure we should fail any bundles that were impacted eagerly - line 183: * TODO: On failure we should fail any bundles that were impacted eagerly sdks/java/io/kafka/src/main/java/org/apache/beam/sdk/io/kafka/KafkaIO.java (3 lines): - line 2037: // TODO (Version 3.0): Create the only one generic {@code Write} transform which will be - line 2254: // TODO: Verify that the group_id does not have existing state stored on Kafka unless - line 2322: // TODO (Version 3.0): Create the only one generic {@code Write} transform which will be runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/control/SdkHarnessClient.java (3 lines): - line 515: // TODO: [BEAM-3962] Handle aborting the bundle being processed. - line 517: "Processing bundle failed, TODO: [BEAM-3962] abort bundle."); - line 741: // TODO: validate that all the necessary data endpoints are known runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/IsmSideInputReader.java (3 lines): - line 112: *

TODO: Move the bounded executor out to an accessible place such as on PipelineOptions. - line 617: throw new UnsupportedOperationException("TODO: Support enumerating the keys."); - line 741: // TODO: Support greater than Integer.MAX_VALUE values for iteration/lookup and size. runners/spark/2/src/main/java/org/apache/beam/runners/spark/structuredstreaming/translation/TranslationContext.java (3 lines): - line 144: * TODO: All these 3 methods (putDataset*) are temporary and they are used only for generics type - line 211: // TODO: deal with Beam Discarding, Accumulating and Accumulating & Retracting outputmodes - line 219: // TODO: Do not await termination here. sdks/java/harness/src/main/java/org/apache/beam/fn/harness/state/BagUserState.java (3 lines): - line 39: *

TODO: Move to an async persist model where persistence is signalled based upon cache memory - line 42: *

TODO: Support block level caching and prefetch. - line 129: // TODO: Replace with chunking output stream runners/samza/src/main/java/org/apache/beam/runners/samza/translation/ConfigBuilder.java (3 lines): - line 132: // TODO: add check to all non-empty files once we don't need to - line 216: // TODO: remove after SAMZA-1531 is resolved - line 276: // TODO: remove after we sort out Samza task wrapper sdks/python/apache_beam/utils/subprocess_server.py (3 lines): - line 234: # TODO: Attempt to use nightly snapshots? - line 252: # TODO: Verify checksum? - line 265: # TODO: Clean up this cache according to some policy. sdks/java/extensions/sql/src/main/java/org/apache/beam/sdk/extensions/sql/impl/rel/BeamMatchRel.java (3 lines): - line 204: // TODO: support FINAL clause, for now, get rid of the FINAL operation - line 219: // TODO: add support for FINAL/RUNNING - line 233: // TODO: support both ALL ROWS PER MATCH and ONE ROW PER MATCH. sdks/java/core/src/main/java/org/apache/beam/sdk/schemas/parser/FieldAccessDescriptorParser.java (3 lines): - line 86: // TODO: We should support expanding out x.*.y expressions. - line 136: // TODO: Change once we support slices and selectors. - line 144: // TODO: Change once we support slices and selectors. runners/spark/2/src/main/java/org/apache/beam/runners/spark/structuredstreaming/SparkStructuredStreamingPipelineResult.java (3 lines): - line 57: // TODO: Implement results on a streaming pipeline. Currently does not stream. - line 84: // TODO: await any outstanding queries on the session if this is streaming. - line 104: // TODO: all streaming functionality runners/spark/2/src/main/java/org/apache/beam/runners/spark/structuredstreaming/translation/batch/ParDoTranslatorBatch.java (3 lines): - line 57: * TODO: Add support for state and timers. - line 75: // TODO: add support of Splittable DoFn - line 82: // TODO: add support of states and timers runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/GroupAlsoByWindowParDoFnFactory.java (3 lines): - line 106: // TODO: Catch block disappears, becoming an error once Python SDK is compliant. - line 173: // TODO: do not do this with mess of "if" - line 206: // TODO: or anyhow related to it, do not do this with mess of "if" runners/spark/2/src/main/java/org/apache/beam/runners/spark/structuredstreaming/translation/streaming/DatasetSourceStreaming.java (3 lines): - line 140: // TODO: is checkpointMark stored in reliable storage ? - line 166: // TODO: find a way to extend schema with a WindowedValue schema - line 230: // TODO deal with watermark sdks/java/harness/src/main/java/org/apache/beam/fn/harness/control/ProcessBundleHandler.java (2 lines): - line 118: // TODO: What should the initial set of URNs be? - line 537: // TODO: Remove source as a root and have it be triggered by the Runner. runners/direct-java/src/main/java/org/apache/beam/runners/direct/DirectGraph.java (2 lines): - line 86: // TODO: This must only be called on primitive transforms; composites should return empty - line 93: // TODO: Make this actually track this type of edge, because this isn't quite the right sdks/java/core/src/main/java/org/apache/beam/sdk/schemas/FieldTypeDescriptors.java (2 lines): - line 64: // TODO: shouldn't we handle this differently? - line 83: // TODO: Convert for registered logical types. sdks/java/extensions/sql/src/main/java/org/apache/beam/sdk/extensions/sql/meta/provider/bigquery/BeamSqlUnparseContext.java (2 lines): - line 59: // TODO: Move away from deprecated classes. - line 60: // TODO: Escaping single quotes, SqlCharStringLiteral (produced by SqlLiteral.createCharString) sdks/python/apache_beam/io/fileio.py (2 lines): - line 157: # TODO: Should we batch the lookups? - line 242: # TODO: Mime type? Other arguments? Maybe arguments passed in to transform? sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/healthcare/HL7v2IO.java (2 lines): - line 746: // TODO when the healthcare API releases a bulk import method this should use that to improve - line 796: // TODO once healthcare API exposes batch import API add that functionality here to runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/fn/data/BeamFnDataGrpcService.java (2 lines): - line 96: // TODO: Track multiple clients and disconnect them cleanly instead of forcing termination - line 99: // TODO: Remove this class once CompletableFutureInboundDataClient allows you access to the runners/samza/src/main/java/org/apache/beam/runners/samza/runtime/DoFnOp.java (2 lines): - line 113: // TODO: eagerly initialize the hold in init - line 119: // TODO: add this to checkpointable state runners/spark/src/main/java/org/apache/beam/runners/spark/translation/SparkStreamingPortablePipelineTranslator.java (2 lines): - line 244: // TODO (BEAM-10712): handle side inputs. - line 328: // TODO (BEAM-10789): this is not recoverable from checkpoint! sdks/java/extensions/sql/src/main/java/org/apache/beam/sdk/extensions/sql/impl/udf/BuiltinTrigonometricFunctions.java (2 lines): - line 35: // TODO: handle overflow - line 52: // TODO: handle overflow runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/control/ProcessBundleDescriptors.java (2 lines): - line 68: // TODO: Rename to ExecutableStages? - line 114: // TODO: Remove the unreachable subcomponents if the size of the descriptor matters. sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/DoFnTester.java (2 lines): - line 346: // TODO: Should we return an unmodifiable list? - line 397: // TODO: Should we return an unmodifiable list? runners/direct-java/src/main/java/org/apache/beam/runners/direct/TransformExecutorServices.java (2 lines): - line 73: // TODO: [BEAM-4563] Pass Future back to consumer to check for async errors - line 157: // TODO: [BEAM-4563] Pass Future back to consumer to check for async errors sdks/java/extensions/sql/zetasql/src/main/java/org/apache/beam/sdk/extensions/sql/zetasql/BeamZetaSqlCatalog.java (2 lines): - line 80: // TODO: support optional function argument (for window_offset). - line 274: // annotation upstream. TODO Unsuppress when this is fixed in ZetaSQL. runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/util/common/worker/MapTaskExecutor.java (2 lines): - line 127: // TODO: support for success / failure ports? - line 171: // TODO: Also interrupt the execution thread. runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/state/GrpcStateService.java (2 lines): - line 106: // TODO: Abort in-flight state requests. Flag this processBundleInstructionId as a fail. - line 115: *

TODO: Handle when the client indicates completion or an error on the inbound stream and sdks/java/core/src/main/java/org/apache/beam/sdk/values/PCollectionViews.java (2 lines): - line 1065: // TODO: BEAM-3071 - fix this so that we aren't relying on Java equality and are - line 1149: // TODO: BEAM-3071 - fix this so that we aren't relying on Java equality and are runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/windmill/GrpcWindmillServer.java (2 lines): - line 262: *

TODO: Replace this with an auto generated proxy which calls the underlying implementation - line 291: *

TODO: Replace this with an auto generated proxy which calls the underlying implementation runners/flink/src/main/java/org/apache/beam/runners/flink/FlinkBatchPortablePipelineTranslator.java (2 lines): - line 295: // TODO: Fail on splittable DoFns. - line 296: // TODO: Special-case single outputs to avoid multiplexing PCollections. sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/bigquery/StorageApiWriteUnshardedRecords.java (2 lines): - line 198: // TODO: look at byte size too? - line 240: // TODO: Do we have to wait on every append? runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/WindmillStateInternals.java (2 lines): - line 1356: // TODO: Don't do this if it was already in cache. - line 1535: // TODO: Don't do this if it was already in cache. sdks/python/apache_beam/transforms/external.py (2 lines): - line 280: # TODO: Possibly loosen this. - line 331: # TODO: update this to support secure non-local channels. runners/java-job-service/src/main/java/org/apache/beam/runners/jobsubmission/InMemoryJobService.java (2 lines): - line 76: *

TODO: replace in-memory job management state with persistent solution. - line 508: // TODO: throw error if jobs are running sdks/python/apache_beam/io/aws/s3io.py (2 lines): - line 479: # TODO: Throw value error if path has directory - line 578: # TODO: Byte strings might not be the most performant way to handle this sdks/go/pkg/beam/core/graph/edge.go (2 lines): - line 54: Map InputKind = "Map" // TODO: allow? - line 55: MultiMap InputKind = "MultiMap" // TODO: allow? sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/Watch.java (2 lines): - line 928: // TODO (https://issues.apache.org/jira/browse/BEAM-2680): - line 1012: // in case of pipeline update. TODO: do this. sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/spanner/MutationUtils.java (2 lines): - line 146: // TODO: Implement logical date and datetime - line 229: // TODO: Implement logical date and datetime runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/graph/GreedyPipelineFuser.java (2 lines): - line 166: // TODO: Figure out where to store this. - line 169: // TODO: Stages can be fused with each other, if doing so does not introduce duplicate paths sdks/python/apache_beam/dataframe/convert.py (2 lines): - line 39: # TODO: Or should this be called as_dataframe? - line 105: # TODO: Or should this be called from_dataframe? sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/join/CoGroupByKey.java (2 lines): - line 91: // TODO: Look at better integration of union types with the - line 103: // TODO: Use the schema to order the indices rather than depending sdks/java/extensions/google-cloud-platform-core/src/main/java/org/apache/beam/sdk/extensions/gcp/util/gcsfs/GcsPath.java (2 lines): - line 371: // TODO: support "." and ".." path components? - line 578: // TODO: Consider using resource names for all GCS paths used by the SDK. sdks/python/apache_beam/pipeline.py (2 lines): - line 485: TODO: Update this to also work for transform overrides where input and - line 1380: TODO: Update this to support cases where input and/our output types are runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/DataflowRunner.java (2 lines): - line 957: // TODO: add an explicit `pipeline` parameter to the submission instead of pipeline options - line 1728: *

TODO: BEAM-2422 - Make this a SplittableDoFn. runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/counters/CounterFactory.java (2 lines): - line 227: // TODO: Replace sum-of-squares with statistics for a better stddev algorithm. - line 849: // TODO: Using CounterDistribution internally is likely very expensive as each sdks/java/fn-execution/src/main/java/org/apache/beam/sdk/fn/data/BeamFnDataSizeBasedBufferingOutboundObserver.java (2 lines): - line 31: *

TODO: Handle outputting large elements (> 2GiBs). Note that this also applies to the input - line 34: *

TODO: Handle outputting elements that are zero bytes by outputting a single byte as a marker, runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/counters/CounterName.java (2 lines): - line 243: *

It is null before {@link #getFlatName()} is called. TODO: this can be replaced - line 276: *

It is null before {@link #getPrettyName()} is called. TODO: this can be replaced sdks/python/apache_beam/internal/pickler.py (2 lines): - line 61: # TODO: Remove this once Beam depends on dill >= 0.2.8 - line 66: # TODO: Remove once Dataflow has containers with a preinstalled dill >= 0.2.8 sdks/python/apache_beam/runners/direct/sdf_direct_runner.py (2 lines): - line 311: # TODO: handle key collisions here. - line 519: # TODO: support continuing after the specified amount of delay. runners/flink/src/main/java/org/apache/beam/runners/flink/FlinkPipelineRunner.java (2 lines): - line 80: // TODO: Do we need to inspect for unbounded sources before fusing? - line 107: // TODO: Consider supporting partially-fused graphs. runners/spark/2/src/main/java/org/apache/beam/runners/spark/structuredstreaming/SparkStructuredStreamingRunner.java (2 lines): - line 146: // TODO initialise other services: checkpointing, metrics system, listeners, ... - line 151: // TODO: Streaming. runners/twister2/src/main/java/org/apache/beam/runners/twister2/Twister2Runner.java (2 lines): - line 172: // TODO: Need to fix the check for "RUNNING" once fix for this is done on Twister2 end. - line 269: // TODO figure out if we can remove all the dependencies that come with sdks/java/extensions/sql/zetasql/src/main/java/org/apache/beam/sdk/extensions/sql/zetasql/ZetaSqlCalciteTranslationUtils.java (2 lines): - line 162: // TODO: Should element type has the same nullability as the array type? - line 166: // TODO: Should field type has the same nullability as the struct type? runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/PipelineOptionsTranslation.java (2 lines): - line 39: *

TODO: Make this the default to/from translation for PipelineOptions. - line 51: // TODO: Officially define URNs for options and their scheme. sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/datastore/DataStoreV1SchemaIOProvider.java (2 lines): - line 70: // TODO: allow users to specify a name of the field to store a key value via TableProperties. - line 170: // TODO: allow users to specify a namespace in a location string. sdks/python/apache_beam/runners/direct/direct_runner.py (2 lines): - line 299: # TODO: Move imports to top. Pipeline <-> Runner dependency cause problems - line 502: # TODO: Move imports to top. Pipeline <-> Runner dependency cause problems runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/PipelineTranslation.java (2 lines): - line 72: // TODO: Include DisplayData in the proto - line 85: // TODO: Include DisplayData in the proto model/pipeline/src/main/proto/beam_runner_api.proto (2 lines): - line 589: // TODO: full audit of fields required by runners as opposed to SDK harness - line 1027: // TODO: consider inlining field on PCollection runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/logging/DataflowWorkerLoggingHandler.java (2 lines): - line 201: // TODO: Write the stage execution information by translating the currently execution - line 210: // TODO: Figure out a way to get exceptions transported across Beam Fn Logging API sdks/java/extensions/google-cloud-platform-core/src/main/java/org/apache/beam/sdk/extensions/gcp/storage/GcsFileSystem.java (2 lines): - line 190: // TODO: Executes in parallel, address https://issues.apache.org/jira/browse/BEAM-1503. - line 272: // TODO: Address https://issues.apache.org/jira/browse/BEAM-1494 sdks/go/pkg/beam/core/runtime/exec/plan.go (2 lines): - line 47: // TODO: there can be more than 1 DataSource in a bundle. - line 228: // TODO: When bundles with multiple sources, are supported, perform splits runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/graph/GreedyPCollectionFusers.java (2 lines): - line 89: // TODO: Migrate - line 350: // TODO: There is performance to be gained if the output of a flatten is fused into a stage sdks/java/core/src/main/java/org/apache/beam/sdk/runners/TransformHierarchy.java (2 lines): - line 257: // TODO: track which outputs need to be exported to parent. - line 469: // producers map will not be appropriately updated. TODO: investigate alternatives runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/environment/EmbeddedEnvironmentFactory.java (2 lines): - line 111: // TODO: https://issues.apache.org/jira/browse/BEAM-4384 load the FnHarness in a - line 142: // TODO: find some way to populate the actual ID in FnHarness.main() sdks/python/apache_beam/runners/dataflow/dataflow_runner.py (2 lines): - line 104: # TODO: Remove the apache_beam.pipeline dependency in CreatePTransformOverride - line 1617: # TODO: Merge the termination code in poll_for_job_completion and sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/bigquery/BigQueryStorageStreamSource.java (2 lines): - line 127: // TODO: Implement progress reporting. - line 135: // TODO: Implement dynamic work rebalancing. runners/spark/2/src/main/java/org/apache/beam/runners/spark/structuredstreaming/translation/batch/PipelineTranslatorBatch.java (2 lines): - line 58: // TODO the ability to have more than one TransformTranslator per URN - line 71: // TODO: Do we need to have a dedicated translator for {@code Reshuffle} if it's deprecated? sdks/java/extensions/sql/src/main/java/org/apache/beam/sdk/extensions/sql/meta/provider/bigquery/BigQueryFilter.java (2 lines): - line 52: // TODO: Check what other functions are supported and add support for them (ex: trim). - line 111: *

TODO: Check if comparison between two columns is supported. Also over a boolean field. sdks/java/io/synthetic/src/main/java/org/apache/beam/sdk/io/synthetic/SyntheticBoundedSource.java (2 lines): - line 86: // TODO: test cases where the source size could not be estimated (i.e., return 0). - line 87: // TODO: test cases where the key size and value size might differ from record to record. sdks/python/apache_beam/transforms/display.py (2 lines): - line 325: # TODO: Python Class types should not be special-cased once - line 413: #TODO: Fix Args: documentation once the Python classes handling has changed sdks/java/extensions/sql/src/main/java/org/apache/beam/sdk/extensions/sql/meta/provider/mongodb/MongoDbTable.java (2 lines): - line 330: // TODO: add support for complex fields (May require modifying how Calcite parses nested - line 457: // TODO: Can be supported via Filters#where. sdks/java/core/src/main/java/org/apache/beam/sdk/util/SerializableUtils.java (2 lines): - line 156: // TODO: Put in better element printing: - line 164: // TODO: Put in better encoded byte array printing: sdks/java/core/src/main/java/org/apache/beam/sdk/schemas/utils/AvroUtils.java (2 lines): - line 760: // TODO: There is a desire to move Beam schema DATETIME to a micros representation. When - line 875: // TODO: There is a desire to move Beam schema DATETIME to a micros representation. When runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/graph/GreedyStageFuser.java (2 lines): - line 53: // TODO: Provide a way to merge in a compatible subgraph (e.g. one where all of the siblings - line 184: // TODO: Potentially, some of the consumers can be fused back into this stage later sdks/java/io/solr/src/main/java/org/apache/beam/sdk/io/solr/SolrIO.java (2 lines): - line 361: // TODO remove this configuration, we can figure out the best number - line 436: // TODO in case of this replica goes inactive while the pipeline runs. runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/BatchDataflowWorker.java (2 lines): - line 225: // TODO: this conditional -> two implementations of common interface, or - line 436: // TODO: Implement proper cleanup logic. runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/graph/PipelineValidator.java (2 lines): - line 240: // TODO: Validate state_specs and timer_specs - line 315: // TODO: Also validate that side inputs of all transforms within components.getTransforms() sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/pubsub/PubsubUnboundedSource.java (2 lines): - line 178: // TODO: Would prefer to use MinLongFn but it is a BinaryCombineFn rather - line 976: // TODO: Estimate a timestamp lag. runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/control/DefaultJobBundleFactory.java (2 lines): - line 465: // TODO: Consider having BundleProcessor#newBundle take in an OutputReceiverFactory rather - line 645: // TODO: Wait for executor shutdown? runners/spark/2/src/main/java/org/apache/beam/runners/spark/structuredstreaming/translation/streaming/PipelineTranslatorStreaming.java (2 lines): - line 50: // TODO the ability to have more than one TransformTranslator per URN - line 63: // TODO: Do we need to have a dedicated translator for {@code Reshuffle} if it's deprecated? runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/DataflowExecutionContext.java (2 lines): - line 129: // TODO: We should have state bytes also to contribute to this hint, otherwise, - line 156: // TODO: Move StepContext creation to the OperationContext. runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/BatchViewOverrides.java (2 lines): - line 849: // TODO: swap to use a variable length long coder which has values which compare - line 1126: // TODO: swap to use a variable length long coder which has values which compare sdks/java/core/src/main/java/org/apache/beam/sdk/io/LocalFileSystem.java (2 lines): - line 280: // TODO: Avoid iterating all files: https://issues.apache.org/jira/browse/BEAM-1309 - line 296: // TODO: consider to return Status.OK for globs. runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/graph/LengthPrefixUnknownCoders.java (2 lines): - line 63: // TODO: Remove TimerOrElementCoder as it is not truly a well known type. - line 338: // TODO: Handle other types of ParDos. sdks/java/core/src/main/java/org/apache/beam/sdk/schemas/SchemaCoderHelpers.java (1 line): - line 111: // TODO: We should plumb this through to logical types. runners/direct-java/src/main/java/org/apache/beam/runners/direct/KeyedPValueTrackingVisitor.java (1 line): - line 46: // TODO: Handle Key-preserving transforms when appropriate and more aggressively make PTransforms sdks/python/apache_beam/runners/pipeline_context.py (1 line): - line 123: # TODO: this method may not be safe for arbitrary protos due to sdks/java/extensions/sql/src/main/java/org/apache/beam/sdk/extensions/sql/meta/provider/FullNameTableProvider.java (1 line): - line 57: // TODO: implement with trie sdks/python/apache_beam/transforms/combiners.py (1 line): - line 228: # FIXME: mypy would handle this better if we placed the _py*__init__ funcs sdks/python/apache_beam/transforms/core.py (1 line): - line 1768: # TODO: What about callable classes? runners/spark/src/main/java/org/apache/beam/runners/spark/SparkPipelineRunner.java (1 line): - line 109: // TODO: Consider supporting partially-fused graphs. runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/graph/ProtoOverrides.java (1 line): - line 79: // TODO: remove PCollections not produced by 'pt' here. sdks/java/extensions/sql/src/main/java/org/apache/beam/sdk/extensions/sql/impl/rel/BeamSetOperatorRelBase.java (1 line): - line 82: // TODO: We may want to preaggregate the counts first using Group instead of calling CoGroup and sdks/go/pkg/beam/core/graph/fn.go (1 line): - line 177: // TODO: ViewFn, etc. runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/SerializablePipelineOptions.java (1 line): - line 62: // TODO https://issues.apache.org/jira/browse/BEAM-2712: remove this call. runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/DataflowWorkUnitClient.java (1 line): - line 180: // required by the Google API parsing framework. TODO: Fix the framework sdks/java/io/azure/src/main/java/org/apache/beam/sdk/io/azure/options/BlobstoreOptions.java (1 line): - line 35: // TODO: Tag each option with @Default or @Nullable runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/DataflowMetrics.java (1 line): - line 359: // TODO: remove this when distributions stop being broken up for the UI. runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/control/FnApiControlClientPoolService.java (1 line): - line 102: // TODO: https://issues.apache.org/jira/browse/BEAM-4151: Prevent stale client references runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/WorkerPipelineOptionsFactory.java (1 line): - line 53: // TODO: remove this method of getting pipeline options, once migration is complete. runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/windmill/WindmillServer.java (1 line): - line 36: // TODO: Remove the use of JNI here sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/bigquery/CreateTables.java (1 line): - line 58: *

TODO: We should put a bound on memory usage of this. Use guava cache instead. sdks/java/extensions/sql/zetasql/src/main/java/org/apache/beam/sdk/extensions/sql/zetasql/translation/TVFScanConverter.java (1 line): - line 88: // TODO: migrate to public Java API to retrieve FunctionSignature. sdks/java/core/src/main/java/org/apache/beam/sdk/testing/PAssert.java (1 line): - line 1302: // TODO: Split the filtering from the rewindowing, and apply filtering before the Gather sdks/java/io/tika/src/main/java/org/apache/beam/sdk/io/tika/TikaIO.java (1 line): - line 226: // TODO: use metadata.toString() only without a trim() once Apache Tika 1.17 gets released runners/direct-java/src/main/java/org/apache/beam/runners/direct/BoundedReadEvaluatorFactory.java (1 line): - line 69: // TODO: (BEAM-723) Create a shared ExecutorService for maintenance tasks in the DirectRunner. runners/samza/src/main/java/org/apache/beam/runners/samza/metrics/SamzaMetricsContainer.java (1 line): - line 76: // TODO: add distribution metrics to Samza sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/spanner/SpannerIO.java (1 line): - line 684: // TODO: validate query? runners/twister2/src/main/java/org/apache/beam/runners/twister2/translators/functions/Twister2SinkFunction.java (1 line): - line 36: // TODO need to complete functionality if needed sdks/java/core/src/main/java/org/apache/beam/sdk/schemas/utils/ConvertHelpers.java (1 line): - line 111: // TODO: Properly handle nullable. runners/direct-java/src/main/java/org/apache/beam/runners/direct/ExecutorServiceParallelExecutor.java (1 line): - line 149: // TODO: [BEAM-4563] Pass Future back to consumer to check for async errors sdks/python/apache_beam/runners/runner.py (1 line): - line 339: # FIXME: replace with PipelineState(str, enum.Enum) sdks/java/io/tika/src/main/java/org/apache/beam/sdk/io/tika/ParseResult.java (1 line): - line 129: // TODO: Remove this function and use metadata.hashCode() once Apache Tika 1.17 gets released. sdks/java/extensions/sql/src/main/java/org/apache/beam/sdk/extensions/sql/meta/provider/bigquery/BigQueryTable.java (1 line): - line 219: // TODO: BigQuerySqlDialectWithTypeTranslation can be replaced with BigQuerySqlDialect after runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/IntrinsicMapTaskExecutorFactory.java (1 line): - line 117: // TODO: remove this once we trust the code paths sdks/java/extensions/google-cloud-platform-core/src/main/java/org/apache/beam/sdk/extensions/gcp/util/RetryHttpRequestInitializer.java (1 line): - line 254: // TODO: Do this exclusively for work requests. sdks/java/core/src/main/java/org/apache/beam/sdk/schemas/utils/StaticSchemaInference.java (1 line): - line 154: // TODO: should this be AbstractCollection? sdks/java/extensions/sql/src/main/java/org/apache/beam/sdk/extensions/sql/impl/rel/BeamCalcRel.java (1 line): - line 739: // TODO transform keys, in this case, we need to do lookup, so it should be both ways: runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/util/common/worker/OutputObjectAndByteCounter.java (1 line): - line 175: // TODO: use original name from the NameContext sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/bigquery/CreateTableHelpers.java (1 line): - line 41: *

TODO: We should put a bound on memory usage of this. Use guava cache instead. sdks/python/apache_beam/runners/worker/statecache.py (1 line): - line 170: TODO Memory-based caching: https://issues.apache.org/jira/browse/BEAM-8297 runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/BatchModeExecutionContext.java (1 line): - line 311: // TODO: Expose a keyed sub-cache which allows one to store all cached values in their runners/flink/src/main/java/org/apache/beam/runners/flink/FlinkJobInvoker.java (1 line): - line 63: // TODO: How to make Java/Python agree on names of keys and their values? runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/graph/InsertFetchAndFilterStreamingSideInputNodes.java (1 line): - line 96: // TODO: only the non-null branch should exist; for migration ease only runners/flink/src/main/java/org/apache/beam/runners/flink/translation/functions/FlinkPartialReduceFunction.java (1 line): - line 52: // TODO: Remove side input functionality since liftable Combines no longer have side inputs. sdks/java/harness/src/main/java/org/apache/beam/fn/harness/state/BeamFnStateGrpcClientCache.java (1 line): - line 41: *

TODO: Add the ability to close which cancels any pending and stops any future requests. sdks/python/apache_beam/typehints/typehints.py (1 line): - line 1240: # TODO: Possibly handle other valid types. sdks/go/pkg/beam/core/runtime/graphx/translate.go (1 line): - line 84: // TODO Support process based SDK Harness. runners/spark/src/main/java/org/apache/beam/runners/spark/SparkTransformOverrides.java (1 line): - line 37: // TODO: [BEAM-5358] Support @RequiresStableInput on Spark runner sdks/java/extensions/sql/zetasql/src/main/java/org/apache/beam/sdk/extensions/sql/zetasql/translation/TableScanConverter.java (1 line): - line 53: // TODO: reject incorrect top-level schema sdks/java/core/src/main/java/org/apache/beam/sdk/schemas/JavaFieldSchema.java (1 line): - line 48: *

TODO: Validate equals() method is provided, and if not generate a "slow" equals method based sdks/java/core/src/main/java/org/apache/beam/sdk/schemas/transforms/Cast.java (1 line): - line 299: // TODO: This should be the same as resolved so that Beam knows which fields runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/control/MapControlClientPool.java (1 line): - line 68: // TODO: Wire in health checking of clients so requests don't hang. sdks/java/core/src/main/java/org/apache/beam/sdk/schemas/utils/AvroByteBuddyUtils.java (1 line): - line 73: // TODO: This assumes that Avro only generates one constructor with this many fields. runners/flink/src/main/java/org/apache/beam/runners/flink/translation/functions/FlinkReduceFunction.java (1 line): - line 50: // TODO: Remove side input functionality since liftable Combines no longer have side inputs. runners/direct-java/src/main/java/org/apache/beam/runners/direct/WatermarkManager.java (1 line): - line 584: // TODO: Track elements in the bundle by the processing time they were output instead of sdks/java/io/hadoop-file-system/src/main/java/org/apache/beam/sdk/io/hdfs/HadoopFileSystem.java (1 line): - line 365: // TODO: Add support for off heap ByteBuffers in case the underlying FSDataInputStream sdks/java/core/src/main/java/org/apache/beam/sdk/Pipeline.java (1 line): - line 154: // TODO: fix runners that mutate PipelineOptions in this method, then remove this line runners/spark/2/src/main/java/org/apache/beam/runners/spark/structuredstreaming/translation/batch/DatasetSourceBatch.java (1 line): - line 91: // TODO: find a way to extend schema with a WindowedValue schema sdks/python/apache_beam/runners/direct/transform_evaluator.py (1 line): - line 875: # TODO Add paneinfo to timer_firing in DirectRunner runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/CoderTranslation.java (1 line): - line 60: // TODO: standardize such things sdks/java/extensions/sql/src/main/java/org/apache/beam/sdk/extensions/sql/impl/rule/BeamAggregationRule.java (1 line): - line 200: // @TODO: this can be simplified after CALCITE-2837 sdks/java/io/kafka/src/main/java/org/apache/beam/sdk/io/kafka/KafkaUnboundedReader.java (1 line): - line 189: // TODO: write records that can't be deserialized to a "dead-letter" additional output. sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/Sets.java (1 line): - line 651: // TODO: lift combiners through the CoGBK. sdks/go/pkg/beam/core/runtime/harness/monitoring.go (1 line): - line 38: // TODO: 2020/03/26 - measure mutex overhead vs sync.Map for this case. runners/flink/src/main/java/org/apache/beam/runners/flink/translation/wrappers/streaming/KeyedPushedBackElementsHandler.java (1 line): - line 83: // TODO we have to collect all keys because otherwise we get ConcurrentModificationExceptions sdks/java/core/src/main/java/org/apache/beam/sdk/schemas/SchemaRegistry.java (1 line): - line 48: *

TODO: Provide support for schemas registered via a ServiceLoader interface. This will allow runners/samza/src/main/java/org/apache/beam/runners/samza/SamzaPipelineOptionsValidator.java (1 line): - line 47: // TODO: once Samza supports a better thread pool modle, e.g. thread sdks/go/pkg/beam/core/runtime/harness/harness.go (1 line): - line 50: // TODO: setup data manager, DoFn register sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/datastore/EntityToRow.java (1 line): - line 156: // TODO: figure out in what order the elements are in (without relying on Beam schema). runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/InMemoryReader.java (1 line): - line 120: // TODO: Replace with the real encoding used by the sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/bigquery/BigQueryIO.java (1 line): - line 2649: // TODO: it would be trivial to convert to avro records here instead. runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/util/common/worker/BatchingShuffleEntryReader.java (1 line): - line 88: // TODO: Report API errors to the caller using checked sdks/python/apache_beam/io/avroio.py (1 line): - line 428: TODO: remove ``_AvroSource`` in favor of using ``_FastAvroSource`` runners/twister2/src/main/java/org/apache/beam/runners/twister2/translators/batch/ParDoMultiOutputTranslatorBatch.java (1 line): - line 84: // TODO : note change from List to map in sideinputs sdks/python/apache_beam/io/filebasedsink.py (1 line): - line 395: # TODO: Clean up workitem_test which uses this. runners/samza/src/main/java/org/apache/beam/runners/samza/adapter/UnboundedSourceSystem.java (1 line): - line 325: // TODO: make poll interval configurable runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/internal/CustomSources.java (1 line): - line 52: int cores = 4; // TODO: decide at runtime? sdks/python/apache_beam/runners/worker/data_plane.py (1 line): - line 67: # TODO: move this out of the TYPE_CHECKING scope when we drop support for runners/spark/2/src/main/java/org/apache/beam/runners/spark/structuredstreaming/translation/batch/ReshuffleTranslatorBatch.java (1 line): - line 24: /** TODO: Should be removed if {@link Reshuffle} won't be translated. */ sdks/python/apache_beam/io/aws/clients/s3/fake_client.py (1 line): - line 87: # TODO: Do we want to mock out a lack of credentials? sdks/java/core/src/main/java/org/apache/beam/sdk/io/Read.java (1 line): - line 976: // TODO: Support "global" backlog reporting sdks/java/harness/src/main/java/org/apache/beam/fn/harness/AssignWindowsRunner.java (1 line): - line 92: // TODO: BEAM-4272 consider allocating only once and updating the current value per call. sdks/java/core/src/main/java/org/apache/beam/sdk/schemas/JavaBeanSchema.java (1 line): - line 47: *

TODO: Validate equals() method is provided, and if not generate a "slow" equals method based sdks/python/apache_beam/internal/util.py (1 line): - line 154: # TODO: Remove this once above issue in 'apitools' is fixed. runners/samza/src/main/java/org/apache/beam/runners/samza/SamzaRunnerOverrideConfigs.java (1 line): - line 22: // TODO: can we get rid of this class? Right now the SamzaPipelineOptionsValidator would force sdks/java/extensions/google-cloud-platform-core/src/main/java/org/apache/beam/sdk/extensions/gcp/storage/GcsCreateOptions.java (1 line): - line 36: // TODO: Add other GCS options when needed. runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/WindowingStrategyTranslation.java (1 line): - line 206: // TODO: standardize such things sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/resourcehints/ResourceHints.java (1 line): - line 48: // TODO: reference this from a common location in all packages that use this. sdks/java/core/src/main/java/org/apache/beam/sdk/schemas/transforms/Select.java (1 line): - line 137: // TODO: This should be the same as resolved so that Beam knows which fields sdks/java/harness/src/main/java/org/apache/beam/fn/harness/state/MultimapSideInput.java (1 line): - line 29: *

TODO: Support block level caching and prefetch. sdks/java/core/src/main/java/org/apache/beam/sdk/io/range/OffsetRangeTracker.java (1 line): - line 146: // TODO: Investigate whether in practice this is useful or, rather, confusing. runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/util/common/worker/ShuffleEntry.java (1 line): - line 84: // TODO: Use a more compact and readable representation, sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/spanner/SpannerTransformRegistrar.java (1 line): - line 120: // TODO: BEAM-10851 Come up with something to determine schema without this explicit parameter sdks/java/core/src/main/java/org/apache/beam/sdk/io/FileBasedSink.java (1 line): - line 807: // TODO: Windows OS cannot resolves and matches '*' in the path, runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/SourceOperationExecutorFactory.java (1 line): - line 44: // TODO: Fix this once source splitting is supported. runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/GrpcContextHeaderAccessorProvider.java (1 line): - line 68: // TODO: https://issues.apache.org/jira/browse/BEAM-4149 Some harnesses may not set the worker runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/DataflowSystemMetrics.java (1 line): - line 31: // TODO: Provide an utility in SDK 'ThrottlingReporter' to update throttling time. runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/graph/Networks.java (1 line): - line 200: // TODO: (github/guava/2641) Upgrade Guava and remove this method if topological sorting becomes sdks/java/extensions/sorter/src/main/java/org/apache/beam/sdk/extensions/sorter/Sorter.java (1 line): - line 29: *

TODO: Support custom comparison functions. sdks/python/apache_beam/runners/interactive/interactive_runner.py (1 line): - line 176: # TODO: make the StreamingCacheManager and TestStreamServiceController sdks/java/io/amazon-web-services/src/main/java/org/apache/beam/sdk/io/aws/s3/S3ReadableSeekableByteChannel.java (1 line): - line 108: // TODO replace all catch AmazonServiceException with client exception sdks/go/pkg/beam/core/runtime/metricsx/urns.go (1 line): - line 29: // TODO: Pull these from the protos. sdks/python/apache_beam/testing/benchmarks/nexmark/queries/query10.py (1 line): - line 50: # TODO: [BEAM-10879] it seems that beam team has not yet decided about this sdks/java/harness/src/main/java/org/apache/beam/fn/harness/data/BeamFnDataGrpcClient.java (1 line): - line 44: *

TODO: Handle closing clients that are currently not a consumer nor are being consumed. sdks/java/extensions/zetasketch/src/main/java/org/apache/beam/sdk/extensions/zetasketch/HyperLogLogPlusPlusCoder.java (1 line): - line 62: // TODO: check if we can know the sketch size without serializing it sdks/java/io/amazon-web-services2/src/main/java/org/apache/beam/sdk/io/aws2/sqs/SqsIO.java (1 line): - line 196: // TODO: Add write batch api to improve performance sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/bigquery/StorageApiWritesShardedRecords.java (1 line): - line 338: // TODO: Push messageFromTableRow up to top level. That we we cans skip TableRow entirely if runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/graph/QueryablePipeline.java (1 line): - line 79: // TODO: Is it better to have the signatures here require nodes in almost all contexts, or should runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/DataflowPortabilityPCollectionView.java (1 line): - line 53: *

TODO: Migrate to a runner only specific concept of a side input to be used with {@link sdks/python/apache_beam/testing/benchmarks/nexmark/queries/winning_bids.py (1 line): - line 175: #TODO: change this to be calculated by event generation sdks/java/io/azure/src/main/java/org/apache/beam/sdk/io/azure/options/AzureModule.java (1 line): - line 150: // TODO: Write this class sdks/java/harness/src/main/java/org/apache/beam/fn/harness/FnApiDoFnRunner.java (1 line): - line 374: // TODO: Stop passing windowed value coders within PCollections. runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/StreamingDataflowWorker.java (1 line): - line 1223: // TODO: It is also possible for an earlier finalized id to be lost. runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/util/MonitoringUtil.java (1 line): - line 132: // TODO: Allow filtering messages by importance runners/core-java/src/main/java/org/apache/beam/runners/core/ReduceFnRunner.java (1 line): - line 995: // TODO: This isn't accurate if the elements are late. See BEAM-2262 runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/WorkerCustomSources.java (1 line): - line 477: *

TODO: Replace with a concat custom source once one is available or deprecate in favor of TODO: Handle closing clients that are currently not a consumer nor are being consumed. runners/samza/src/main/java/org/apache/beam/runners/samza/adapter/BoundedSourceSystem.java (1 line): - line 69: // TODO: instrumentation for the consumer runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/graph/CreateRegisterFnOperationFunction.java (1 line): - line 198: // TODO: Reduce the amount of 'copying' of SDK nodes by breaking potential cycles sdks/java/core/src/main/java/org/apache/beam/sdk/options/PipelineOptionsFactory.java (1 line): - line 825: *

TODO: Swap back to using Introspector once the proxy class issue with AppEngine is resolved. runners/direct-java/src/main/java/org/apache/beam/runners/direct/QuiescenceDriver.java (1 line): - line 302: // TODO: Split this logic out of an if statement sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/WithKeys.java (1 line): - line 129: // TODO: Remove when we can set the coder inference context. sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/bigquery/StorageApiDynamicDestinationsTableRow.java (1 line): - line 34: // TODO: Make static! Or at least optimize the constant schema case. runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/ShuffleSink.java (1 line): - line 151: // TODO: Decide the representation of sort-keyed values. sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/ParDo.java (1 line): - line 948: // TODO: We should validate OutputReceiver only happens if the output PCollection runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/DataflowWorkerHarnessHelper.java (1 line): - line 133: // TODO: make env logic private to main() so it is never done outside of initializing the process runners/flink/src/main/java/org/apache/beam/runners/flink/translation/functions/FlinkExecutableStageFunction.java (1 line): - line 155: // TODO: Wire this into the distributed cache and make it pluggable. sdks/go/pkg/beam/core/runtime/harness/logging.go (1 line): - line 142: // TODO: batch up log messages sdks/python/gen_protos.py (1 line): - line 184: # TODO: replace with importlib when we drop support for python2. runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/StreamingModeExecutionContext.java (1 line): - line 150: // TODO: Take in the requesting step name and side input index for streaming. sdks/java/fn-execution/src/main/java/org/apache/beam/sdk/fn/windowing/EncodedBoundedWindow.java (1 line): - line 49: "TODO: Add support for reading the timestamp from " + "the encoded window."); sdks/java/extensions/sql/src/main/java/org/apache/beam/sdk/extensions/sql/impl/rel/BeamEnumerableConverter.java (1 line): - line 370: // TODO: needs to be a Struct sdks/java/extensions/sql/src/main/java/org/apache/beam/sdk/extensions/sql/impl/cep/CEPLiteral.java (1 line): - line 40: // TODO: deal with other types (byte, short...) sdks/python/apache_beam/runners/worker/sdk_worker.py (1 line): - line 1097: # TODO: Consider a two-level cache to avoid extra logic and locking sdks/go/pkg/beam/core/runtime/graphx/schema/logicaltypes.go (1 line): - line 99: // TODO add duplication checks. sdks/java/core/src/main/java/org/apache/beam/sdk/util/ApiSurface.java (1 line): - line 324: // TODO: Ignore any NoClassDefFoundError errors as a workaround. (BEAM-2231) sdks/java/core/src/main/java/org/apache/beam/sdk/schemas/transforms/Convert.java (1 line): - line 169: // TODO: Support boxing in Convert (e.g. Long -> Row with Schema { Long }). runners/samza/src/main/java/org/apache/beam/runners/samza/runtime/SamzaDoFnRunners.java (1 line): - line 234: // TODO: side input support needs to implement to handle this properly sdks/python/apache_beam/runners/portability/fn_api_runner/worker_handlers.py (1 line): - line 762: # TODO: credentials runners/flink/src/main/java/org/apache/beam/runners/flink/translation/wrappers/SourceInputFormat.java (1 line): - line 154: // TODO null check can be removed once FLINK-3796 is fixed sdks/java/io/synthetic/src/main/java/org/apache/beam/sdk/io/synthetic/delay/ReaderDelay.java (1 line): - line 35: // TODO: add a separate distribution for the sleep time of reading the first record sdks/java/core/src/main/java/org/apache/beam/sdk/schemas/utils/ByteBuddyUtils.java (1 line): - line 1094: // TODO: Don't copy if already a list! sdks/java/extensions/sql/zetasql/src/main/java/org/apache/beam/sdk/extensions/sql/zetasql/DateTimeUtils.java (1 line): - line 177: // TODO: how to handle overflow. sdks/java/extensions/sql/src/main/java/org/apache/beam/sdk/extensions/sql/impl/schema/BeamTableUtils.java (1 line): - line 49: *

TODO: Does not yet support nested types. runners/samza/src/main/java/org/apache/beam/runners/samza/translation/SamzaPublishViewTranslator.java (1 line): - line 56: // TODO: once SAMZA-1580 is resolved, this optimization will go directly inside Samza sdks/go/pkg/beam/core/graph/coder/row.go (1 line): - line 72: // TODO exported field validation. sdks/java/io/clickhouse/src/main/java/org/apache/beam/sdk/io/clickhouse/ClickHouseIO.java (1 line): - line 367: // TODO: This should be the same as resolved so that Beam knows which fields runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/DataflowOutputCounter.java (1 line): - line 100: // TODO: use the name context to name the counter runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/logging/Slf4jLogWriter.java (1 line): - line 44: // TODO: Provide a useful default sdks/python/apache_beam/runners/worker/worker_id_interceptor.py (1 line): - line 41: # TODO: (BEAM-3904) Removed defaulting to UUID when worker_id is not present sdks/java/extensions/sql/src/main/java/org/apache/beam/sdk/extensions/sql/impl/ScalarFunctionImpl.java (1 line): - line 155: // TODO: [BEAM-8255] Add support for user defined function with var-arg sdks/java/core/src/main/java/org/apache/beam/sdk/io/fs/ResourceIdTester.java (1 line): - line 107: // TODO: test resolving strings that need to be escaped. runners/flink/src/main/java/org/apache/beam/runners/flink/translation/wrappers/streaming/NonKeyedPushedBackElementsHandler.java (1 line): - line 57: // TODO: use addAll() once Flink has addAll(Iterable) runners/twister2/src/main/java/org/apache/beam/runners/twister2/translators/functions/ByteToWindowFunction.java (1 line): - line 72: // TODO need to replace this with a custom iterator sdks/java/core/src/main/java/org/apache/beam/sdk/coders/IterableLikeCoder.java (1 line): - line 214: // TODO: (BEAM-1537) Update to use an accurate count depending on size and count, sdks/java/extensions/sql/zetasql/src/main/java/org/apache/beam/sdk/extensions/sql/zetasql/QueryTrait.java (1 line): - line 43: // TODO: move query parameter map to QueryTrait. runners/core-java/src/main/java/org/apache/beam/runners/core/triggers/AfterDelayFromFirstElementStateMachine.java (1 line): - line 111: *

TODO: Consider sharing this with FixedWindows, and bring over the equivalent of runners/spark/src/main/java/org/apache/beam/runners/spark/translation/streaming/StreamingTransformTranslator.java (1 line): - line 274: // TODO (BEAM-10789): this is not recoverable from checkpoint! sdks/java/core/src/main/java/org/apache/beam/sdk/io/FileBasedSource.java (1 line): - line 620: // Unsupported. TODO: implement. runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/fn/BeamFnControlService.java (1 line): - line 123: // TODO: Track multiple clients and disconnect them cleanly instead of forcing termination model/pipeline/src/main/proto/endpoints.proto (1 line): - line 54: // TODO: Add authentication specifications as needed. sdks/java/io/jdbc/src/main/java/org/apache/beam/sdk/io/jdbc/JdbcSchemaIOProvider.java (1 line): - line 142: // TODO: BEAM-10396 use writeRows() when it's available website/www/site/assets/scss/bootstrap/_variables.scss (1 line): - line 198: // TODO: Rename `$input-border-radius` to `$input-border-radius-base` in v4 runners/java-job-service/src/main/java/org/apache/beam/runners/jobsubmission/JobInvocation.java (1 line): - line 97: // TODO: Defer transitioning until the pipeline is up and running. sdks/java/core/src/main/java/org/apache/beam/sdk/schemas/utils/AutoValueUtils.java (1 line): - line 93: // TODO: Handle extensions. Find the class with the maximum number of $ character prefixexs. sdks/java/core/src/main/java/org/apache/beam/sdk/schemas/utils/SelectHelpers.java (1 line): - line 277: // TODO: Once we support specific qualifiers (like array slices), extract them here. sdks/java/extensions/sql/src/main/java/org/apache/beam/sdk/extensions/sql/impl/cep/CEPPattern.java (1 line): - line 55: // TODO: remove this method after implementing NFA runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/FnApiWindowMappingFn.java (1 line): - line 71: *

TODO: Swap this with an implementation which streams all required window mappings per bundle sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/bigquery/StorageApiFlushAndFinalizeDoFn.java (1 line): - line 160: // TODO: Storage API should provide a more-specific way of identifying this failure. sdks/java/io/kafka/src/main/java/org/apache/beam/sdk/io/kafka/KafkaRecordCoder.java (1 line): - line 121: // TODO : do we have to implement getEncodedSize()? sdks/python/apache_beam/runners/worker/opcounters.py (1 line): - line 242: # TODO: Remove the 'ParDo' prefix for the label name (BEAM-10710) runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/util/common/worker/ProgressTrackerGroup.java (1 line): - line 34: // TODO: Instead of an abstract class, strongly consider adding an runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/util/common/worker/WriteOperation.java (1 line): - line 136: * by FlumeWriteOperation. TODO: Report system_name instead of sink_index when enabling this sdks/java/extensions/sql/zetasql/src/main/java/org/apache/beam/sdk/extensions/sql/zetasql/unnest/BeamZetaSqlUnnestRule.java (1 line): - line 47: // TODO: more general Correlate runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/DeltaDistributionCell.java (1 line): - line 31: *

TODO: Modify the Beam DistributionCell to support extracting the delta. sdks/java/core/src/main/java/org/apache/beam/sdk/util/ZipFiles.java (1 line): - line 82: // TODO: implement size() to try calling entry.getSize()? sdks/java/testing/nexmark/src/main/java/org/apache/beam/sdk/nexmark/NexmarkLauncher.java (1 line): - line 384: // TODO: assign one generator per core rather than one per worker. sdks/java/extensions/sql/src/main/java/org/apache/beam/sdk/extensions/sql/impl/rule/BeamUnnestRule.java (1 line): - line 43: // TODO: more general Correlate runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/graph/Networks.java (1 line): - line 150: // TODO: Upgrade Guava and remove this method if topological sorting becomes sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/Create.java (1 line): - line 771: *

TODO: Instead, build a TypeDescriptor so that the {@link CoderRegistry} is invoked for the runners/flink/src/main/java/org/apache/beam/runners/flink/FlinkJobServerDriver.java (1 line): - line 71: // TODO: Expose the fileSystem related options. runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/DataflowOperationContext.java (1 line): - line 130: // TODO: It could be useful to capture enough context to report per-timer runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/data/GrpcDataService.java (1 line): - line 72: *

TODO: (BEAM-3811) Replace with some cancellable collection, to ensure that new clients of a runners/core-java/src/main/java/org/apache/beam/runners/core/WatermarkHold.java (1 line): - line 164: // TODO: These case labels could be tightened. sdks/java/core/src/main/java/org/apache/beam/sdk/util/InstanceBuilder.java (1 line): - line 156: // TODO: cache results, to speed repeated type lookups? sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/healthcare/DicomIO.java (1 line): - line 177: // TODO [BEAM-11259] Change to non-blocking async calls sdks/java/io/contextualtextio/src/main/java/org/apache/beam/sdk/io/contextualtextio/ContextualTextIO.java (1 line): - line 461: // TODO: We don't need to attach the filename during sorting since we process all sdks/java/harness/src/main/java/org/apache/beam/fn/harness/state/IterableSideInput.java (1 line): - line 28: *

TODO: Support block level caching and prefetch. runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/util/Structs.java (1 line): - line 62: // TODO: Need to agree on a format for encoding bytes in runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/PartialGroupByKeyParDoFns.java (1 line): - line 229: // TODO: Actually support window merging in the combiner table. sdks/java/harness/src/main/java/org/apache/beam/fn/harness/MapFnRunners.java (1 line): - line 52: *

TODO: Add support for DoFns which are actually user supplied map/lambda functions instead of runners/portability/java/src/main/java/org/apache/beam/runners/portability/JobServicePipelineResult.java (1 line): - line 189: // TODO: Determine the correct mappings for the states below. website/www/site/assets/scss/bootstrap/_dropdowns.scss (1 line): - line 181: // TODO: abstract this so that the navbar fixed styles are not placed here? runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/SdkComponents.java (1 line): - line 344: // TODO Support multiple environments. The environment should be decided by the translation. runners/samza/src/main/java/org/apache/beam/runners/samza/translation/SamzaTransformOverrides.java (1 line): - line 53: // TODO: [BEAM-5362] Support @RequiresStableInput on Samza runner runners/spark/src/main/java/org/apache/beam/runners/spark/io/CreateStream.java (1 line): - line 88: // TODO: write a proper Builder enforcing all those rules mentioned. sdks/go/pkg/beam/core/graph/mtime/time.go (1 line): - line 40: // TODO Use GLOBAL_WINDOW_MAX_TIMESTAMP_MILLIS from the Runner API constants sdks/java/core/src/main/java/org/apache/beam/sdk/coders/AvroCoder.java (1 line): - line 564: // TODO: We should be able to support custom schemas on POJO fields, but we shouldn't buildSrc/src/main/groovy/org/apache/beam/gradle/VendorJavaPlugin.groovy (1 line): - line 331: // TODO: Load this from file? sdks/java/core/src/main/java/org/apache/beam/sdk/util/RowJson.java (1 line): - line 481: // TODO: ByteBuddy generate based on schema? sdks/java/io/kafka/src/main/java/org/apache/beam/sdk/io/kafka/KafkaCommitOffset.java (1 line): - line 88: // TODO: consider retrying. sdks/java/core/src/main/java/org/apache/beam/sdk/PipelineResult.java (1 line): - line 68: // TODO: method to retrieve error messages. runners/samza/src/main/java/org/apache/beam/runners/samza/SamzaJobServerDriver.java (1 line): - line 39: // TODO: Expose the fileSystem related options. runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/CombinePhase.java (1 line): - line 25: // TODO: These strings are part of the service definition, and sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/join/UnionCoder.java (1 line): - line 36: // TODO: Think about how to integrate this with a schema object (i.e. sdks/java/io/hcatalog/src/main/java/org/apache/beam/sdk/io/hcatalog/SchemaUtils.java (1 line): - line 90: // TODO: Add Support for Complex Types i.e. ARRAY, MAP, STRUCT sdks/java/core/src/main/java/org/apache/beam/sdk/schemas/FieldValueTypeInformation.java (1 line): - line 256: // TODO: Figure out nullable elements. sdks/java/extensions/sql/src/main/java/org/apache/beam/sdk/extensions/sql/SqlTransform.java (1 line): - line 145: // TODO: validate duplicate functions. sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/join/RawUnionValue.java (1 line): - line 22: // TODO: Think about making this a complete dynamic union by adding runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/DataflowProcessFnRunner.java (1 line): - line 78: // TODO: move this and the next function into ProcessFn. runners/core-java/src/main/java/org/apache/beam/runners/core/triggers/TriggerStateMachineRunner.java (1 line): - line 215: // TODO: If we know that no trigger in the tree will ever finish, we don't need to do the sdks/python/apache_beam/io/gcp/gcsio.py (1 line): - line 96: # TODO: remove this constant and it's usage after apitools move to using an API sdks/java/fn-execution/src/main/java/org/apache/beam/sdk/fn/data/BeamFnDataBufferingOutboundObserver.java (1 line): - line 42: // TODO: Consider moving this constant out of this interface