jdbc/src/java/org/apache/hive/jdbc/HiveConnection.java (29 lines): - line 174: // TODO should be replaced by CliServiceClient - line 1195: //TODO This is a bit hacky. We piggy back on a dummy OpenSession call - line 1550: // TODO Auto-generated method stub - line 1563: // TODO Auto-generated method stub - line 1575: // TODO Auto-generated method stub - line 1587: // TODO Auto-generated method stub - line 1599: // TODO Auto-generated method stub - line 1611: // TODO Auto-generated method stub - line 1663: // TODO Auto-generated method stub - line 1676: // TODO Auto-generated method stub - line 1735: // TODO Auto-generated method stub - line 1790: // TODO Auto-generated method stub - line 1860: // TODO Auto-generated method stub - line 1872: // TODO Auto-generated method stub - line 1885: // TODO Auto-generated method stub - line 1898: // TODO Auto-generated method stub - line 1940: // TODO Auto-generated method stub - line 1954: // TODO Auto-generated method stub - line 1982: // TODO Auto-generated method stub - line 1994: // TODO Auto-generated method stub - line 2006: // TODO Auto-generated method stub - line 2018: // TODO Auto-generated method stub - line 2122: // TODO Auto-generated method stub - line 2159: // TODO Auto-generated method stub - line 2171: // TODO Auto-generated method stub - line 2199: // TODO: throw an exception? - line 2210: // TODO Auto-generated method stub - line 2222: // TODO Auto-generated method stub - line 2234: // TODO Auto-generated method stub llap-tez/src/java/org/apache/hadoop/hive/llap/tezplugins/LlapTaskSchedulerService.java (21 lines): - line 201: // TODO: this is an ugly hack; see the same in LlapTaskCommunicator for discussion. - line 214: // TODO Ideally, remove elements from this once it's known that no tasks are linked to the instance (all deallocated) - line 218: // TODO HIVE-13538 For tasks at the same priority level, it may be worth attempting to schedule tasks with - line 390: // TODO HIVE-13483 Get all of these properties from the registry. This will need to take care of different instances - line 458: // TODO: Not sure about the use of this. Should we instead use workerIdentity as sessionId? - line 594: // TODO: when this code is a little less hot, change most logs to debug. - line 1127: // TODO Cleanup pending tasks etc, so that the next dag is not affected. - line 1151: // TODO Disable blacklisting in Tez when using LLAP, until this is properly supported. - line 1154: // TODO HIVE-13484 What happens when we try scheduling a task on a node that Tez at this point thinks is blacklisted. - line 1160: // TODO: See comments under blacklistNode. - line 1205: // TODO: why does Tez API use "Object" for this? - line 1301: // TODO Include EXTERNAL_PREEMPTION in this list? - line 1302: // TODO HIVE-16134. Differentiate between EXTERNAL_PREEMPTION_WAITQUEU vs EXTERNAL_PREEMPTION_FINISHABLE? - line 1509: // TODO: At this point we don't know the slot number of the requested host, so can't rollover to next available - line 1640: // TODO: handle task to container map events in case of hard failures - line 1907: // TODO Nothing else should be done for this task. Move on. - line 2369: // TODO Maybe register which task the preemption was for, to avoid a bad non-local allocation. - line 2572: // TODO: we might as well kill the AM at this point. How do we do that from here? - line 2601: // TODO At some point, treat task rejection and communication failures differently. - line 2843: // TODO There needs to be a mechanism to figure out different attempts for the same task. Delays - line 2914: // TODO: these appear to always be called under write lock. Do they need sync? ql/src/java/org/apache/hadoop/hive/ql/parse/CalcitePlanner.java (15 lines): - line 823: // TODO: this is a limitation of the AST rewriting approach that we will - line 1362: .withDatabaseMajorVersion(4) // TODO: should not be hardcoded - line 1593: // TODO: Do we need to keep track of RR, ColNameToPosMap for every op or - line 1793: // TODO: Decorelation of subquery should be done before attempting - line 1933: //TODO: Enable this later - line 2732: // TODO: we can also do the same for semi join but it seems that other - line 2807: // TODO: Join filter handling (only supported for OJ by runtime or is it - line 2970: // TODO: What about TOK_CROSSJOIN, TOK_MAPJOIN - line 3080: // TODO: Fix this - line 3149: //@TODO FIX this, we actually do not need this anymore, - line 4139: // TODO: do we need to get to child? - line 4176: // TODO: Convert to Semantic Exception - line 4374: // TODO: will this also fix windowing? try - line 4382: // TODO: Handle Query Hints; currently we ignore them - line 4621: // TODO: support unselected columns in genericUDTF and windowing functions. ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezSessionState.java (14 lines): - line 261: // TODO Why is the queue name set again. It has already been setup via setQueueName. Do only one of the two. - line 273: // TODO This - at least for the session pool - will always be the hive user. How does doAs above this affect things ? - line 332: // TODO Change this to not serialize the entire Configuration - minor. - line 429: // TODO: parts of this should be moved out of TezSession to reuse the clients, but there's - line 431: // TODO: De-link from SessionState. A TezSession can be linked to different Hive Sessions via the pool. - line 440: // TODO: coordinator should be passed in; HIVE-13698. Must be initialized for now. - line 583: // TODO Deprecation reason does not seem to reflect in the config ? - line 606: // TODO: De-link from SessionState. A TezSession can be linked to different Hive Sessions via the pool. - line 620: // TODO: De-link from SessionState. A TezSession can be linked to different Hive Sessions via the pool. - line 640: // TODO: we could do the same thing as below and only localize if missing. - line 675: // TODO: Do we really need all this nonsense? - line 796: // TODO: De-link from SessionState. A TezSession can be linked to different Hive Sessions via the pool. - line 824: // TODO Reduce the number of lookups that happen here. This shouldn't go to HDFS for each call. - line 842: // TODO: if this method is ever called on more than one jar, getting the dir and the standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/HiveMetaStoreClient.java (14 lines): - line 1771: // TODO: Fix this - line 2306: // TODO should we add capabilities here as well as it returns Partition objects - line 2316: // TODO should we add capabilities here as well as it returns Partition objects - line 2344: // TODO should we add capabilities here as well as it returns Partition objects - line 2351: // TODO should we add capabilities here as well as it returns Partition objects - line 2369: // TODO should we add capabilities here as well as it returns Partition objects - line 2401: // TODO should we add capabilities here as well as it returns Partition objects - line 2438: // TODO should we add capabilities here as well as it returns Partition objects - line 2448: // TODO should we add capabilities here as well as it returns Partition objects - line 2497: // TODO should we add capabilities here as well as it returns Partition objects - line 2573: // TODO: in these methods, do we really need to deepcopy? - line 2589: // TODO: backward compat for Hive <= 0.12. Can be removed later. - line 3035: // TODO: remote database does not support list table names by pattern yet. - line 4817: // TODO: we could remember if it's unsupported and stop sending calls; although, it might llap-tez/src/java/org/apache/hadoop/hive/llap/tezplugins/LlapTaskCommunicator.java (13 lines): - line 140: // TODO: this is an ugly hack because Tez plugin isolation does not make sense for LLAP plugins. - line 156: // TODO Avoid reading this from the environment - line 423: callback.setDone(ctx, false); // TODO: danger of stack overflow... needs a retry limit? - line 478: // TODO Handle this properly - line 531: // TODO: Provide support for reporting errors - line 670: // TODO Ideally move some of the other cleanup code from resetCurrentDag over here - line 680: // TODO HIVE-15163. Handle cases where nodes go down and come back on the same port. Historic information - line 822: // TODO: do we ever need the port? we could just do away with nodeId altogether. - line 882: // TODO Is it possible for heartbeats to come in from lost tasks - those should be told to die, which - line 894: //TODO: Remove following instance of check, When TEZ-2672 exposes getConf from DagInfo - line 969: // TODO Unregister the task for state updates, which could in turn unregister the node. - line 993: // TODO: need the description of how these maps are kept consistent. - line 1000: // TODO: we currently put task info everywhere before we submit it and know the "real" node id. llap-server/src/java/org/apache/hadoop/hive/llap/io/encoded/SerDeEncodedDataReader.java (12 lines): - line 272: // TODO: move to a base class? - line 373: // TODO: HIVE-24721: Align with llap.max.alloc - line 486: // TODO: right now we treat each slice as a stripe with a single RG and never bother - line 656: // TODO: avoid put() by working directly in OutStream? - line 849: // TODO: can we merge neighboring splits? So we don't init so many readers. - line 1243: // TODO: refactor with cache impl? it has the same merge logic - line 1462: // TODO: move this into ctor? EW would need to create CacheWriter then - line 1506: // TODO: this interface is ugly. The two implementations are so far apart feature-wise - line 1557: // TODO: this is currently broken. We need to set memory manager to a bogus implementation - line 1668: List hosts = null; // TODO: most of the time, there's no in-memory. Use an array? - line 1734: /* TODO: support this optionally? this is not OrcSplit, but we could add a custom split. - line 1746: // TODO: reuse columnvector-s on hasBatch - save the array by column? take apart each list. ql/src/java/org/apache/hadoop/hive/ql/exec/tez/WorkloadManager.java (11 lines): - line 182: // TODO: shut down HS2? - line 446: // TODO: we either have to kill HS2 or, as the non-actor model would implicitly, - line 579: // TODO: also account for Tez-internal session restarts; - line 681: // TODO: in future this the process of killing can be delayed until the point where a session is actually required. - line 1046: // we have received new, valid registry info (TODO: externally, add a grace period for this?). - line 1070: // TODO: propagate this error to TezJobMonitor somehow? Without using killQuery - line 1145: // TODO: in the current impl, triggers are added to RP. For tez, no pool triggers (mapping between trigger name and - line 1478: // TODO: if there's versioning/etc., it will come in here. For now we rely on external - line 1734: // TODO: can this ever happen? - line 1897: // TODO: this actually calls the metrics system and getMetrics - that may be expensive. - line 1921: // TODO: two possible improvements ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/translator/opconventer/HiveGBOpConvUtil.java (11 lines): - line 70: * TODO:
- line 262: // TODO: this seems wrong (following what Hive Regular does) - line 736: // TODO: Why is this needed (doesn't represent any cols) - line 843: // TODO: Shouldn't we propgate vc? is it vc col from tab or all vc - line 883: // TODO: Can't we just copy the ExprNodeDEsc from input (Do we need to - line 923: // TODO: verify if this is needed - line 933: // TODO: Implement propConstDistUDAFParams - line 971: //TODO: Clean up/refactor assumptions - line 1280: // TODO: Verify if this is needed (Why can't it be always null/empty - line 1316: // TODO: Verify if this is needed (Why can't it be always null/empty - line 1328: // TODO: Implement this llap-server/src/java/org/apache/hadoop/hive/llap/io/encoded/OrcEncodedDataReader.java (11 lines): - line 254: // TODO: setFileMetadata could just create schema. Called in two places; clean up later. - line 279: // TODO: pause fetching - line 285: // TODO: unpause fetching - line 345: // TODO: move this to a common method - line 353: // TODO: should this then be >=? - line 377: // TODO: I/O threadpool could be here - one thread per stripe; for now, linear. - line 422: // TODO: readEncodedColumns is not supposed to throw; errors should be propagated thru - line 661: // TODO: remove the copy after ORC-158 and ORC-197 - line 669: // TODO: add the ability to extractFileTail to read from multiple buffers? - line 763: // TODO: add this to metadatareader in ORC - SI => metadata buffer, not just metadata. - line 1000: // TODO: trace ranges here? Between data cache and incomplete cb cache ql/src/java/org/apache/hadoop/hive/ql/metadata/Hive.java (11 lines): - line 1307: // TODO: this whole path won't work with catalogs - line 1331: // TODO: from here down dozens of methods do not support catalog. I got tired marking them. - line 1579: // TODO: APIs with catalog names - line 1641: // TODO: catalog... etc everywhere - line 2202: // TODO: delete operations are not supported yet. - line 2825: // TODO: why is "&& !isAcidIUDoperation" needed here? - line 3168: String lbDirSuffix = lbDirName.replace(partDirName, ""); // TODO: should it rather do a prefix? - line 3187: // TODO: we should really probably throw. Keep the existing logic for now. - line 4346: // TODO: Implement Batching when limit is >=0 - line 4475: // TODO: might want to increase the default batch size. 1024 is viable; MS gets OOM if too high. - line 7030: // TODO: eh storage-api/src/java/org/apache/hadoop/hive/ql/util/IncrementalObjectSizeEstimator.java (10 lines): - line 45: * TODO: clean up - line 65: // TODO: roll in the direct-only estimators from fields. Various other optimizations possible. - line 206: // TODO: there was code here to create guess-estimate for collection wrt how usage changes - line 250: // TODO: this makes many assumptions, e.g. on how generic args are done - line 257: // TODO: we could try to get the declaring object and infer argument... stupid Java. - line 261: // TODO: we could try to get superclass or generic interfaces. - line 268: // TODO: this makes many assumptions, e.g. on how generic args are done - line 275: // TODO: we could try to get the declaring object and infer argument... stupid Java. - line 279: // TODO: we could try to get superclass or generic interfaces. - line 391: // TODO: maybe use stack of est+obj pairs instead of recursion. ql/src/java/org/apache/hadoop/hive/ql/optimizer/SharedWorkOptimizer.java (10 lines): - line 619: // FIXME: there is no point of this - line 635: // FIXME: probably this should also be integrated with isSame() logics - line 1320: // TODO: We do not merge, since currently we only merge when one of the TS operators - line 1457: // TODO: Support checking multiple child operators to merge further. - line 1492: // TODO: Support checking multiple child operators to merge further. - line 1597: // TODO: Support checking multiple child operators to merge further. - line 1785: // TODO: move this to logicalEquals - line 1806: // TODO: move this to logicalEquals - line 1837: // TODO: Currently ignores GBY and PTF which may also buffer data in memory. - line 1856: // TODO: Extend rule so it can be applied for these cases. ql/src/java/org/apache/hadoop/hive/ql/io/orc/encoded/EncodedTreeReaderFactory.java (10 lines): - line 281: // TODO: why does the original code not just use _dataStream that it passes in as stream? - line 283: // TODO: not clear why this check and skipSeek are needed. - line 1013: // TODO: why doesn't this use context? - line 1062: // TODO: not clear why this check and skipSeek are needed. - line 1506: // TODO: not clear why this check and skipSeek are needed. - line 1706: // TODO: not clear why this check and skipSeek are needed. - line 2013: // TODO: not clear why this check and skipSeek are needed. - line 2251: // TODO: do we actually need this reader? the caller just extracts child readers. - line 2282: // TODO: there should be a better way to do this, code just needs to be modified - line 2302: // TODO: get rid of the builders - they serve no purpose... just call ctors directly. llap-server/src/java/org/apache/hadoop/hive/llap/shufflehandler/ShuffleHandler.java (10 lines): - line 291: // TODO: this is never used - line 379: // TODO Setup SSL Shuffle - line 442: //TODO these bytes should be versioned - line 456: //TODO this should be returning a class not just an int - line 471: //TODO these bytes should be versioned - line 644: // TODO Change the indexCache to be a guava loading cache, rather than a custom implementation. - line 836: // TODO refactor the following into the pipeline - line 915: // TODO Get rid of MapOutputInfo if possible - line 1131: // TODO: Once Shuffle is out of NM, this can use MR APIs to convert - line 1147: // TODO Change this over to just store local dir indices, instead of the entire path. Far more efficient. itests/util/src/main/java/org/apache/hadoop/hive/cli/control/CliConfigs.java (9 lines): - line 80: // TODO: HIVE-28031: Adapt some cli driver tests to Tez where it's applicable - line 294: // TODO: HIVE-28031: Adapt some cli driver tests to Tez where it's applicable - line 314: // TODO: HIVE-28031: Adapt some cli driver tests to Tez where it's applicable - line 398: // TODO: HIVE-28031: Adapt some cli driver tests to Tez where it's applicable - line 419: // TODO: HIVE-28031: Adapt some cli driver tests to Tez where it's applicable - line 440: // TODO: HIVE-28031: Adapt some cli driver tests to Tez where it's applicable - line 464: // TODO: HIVE-28031: Adapt some cli driver tests to Tez where it's applicable - line 485: // TODO: HIVE-28031: Adapt some cli driver tests to Tez where it's applicable - line 568: // TODO: HIVE-28031: Adapt some cli driver tests to Tez where it's applicable ql/src/java/org/apache/hadoop/hive/ql/io/orc/encoded/EncodedReaderImpl.java (8 lines): - line 464: // TODO: Could there be partial RG filtering w/no projection? - line 689: // TODO: the memory release could be optimized - we could release original buffers after we - line 779: // TODO: can this still happen? we now clean these up explicitly to avoid other issues. - line 1736: // TODO: we could remove extra copy for isUncompressed case by copying directly to cache. - line 1773: copy.put(compressed); // TODO: move into the if below; account for release call - line 1984: // TODO: perhaps move to Orc InStream? - line 2232: // TODO: temporary, need to expose from ORC utils (note the difference in null checks) - line 2295: // TODO: see planIndexReading; this is not needed here. ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/translator/RexNodeConverter.java (8 lines): - line 139: // TODO: Handle ExprNodeColumnDesc, ExprNodeColumnListDesc - line 162: // TODO: 1) Expand to other functions as needed 2) What about types other than primitive. - line 182: // TODO: checking 2 children is useless, compare already does that. - line 300: // TODO: Cast Function in Calcite have a bug where it infer type on cast throws - line 318: // TODO: add method to UDFBridge to say if it is a cast func - line 661: // TODO: Verify if we need to use ConstantObjectInspector to unwrap data - line 697: // TODO: return createNullLiteral(literal); - line 706: // TODO: The best solution is to support NaN in expression reduction. ql/src/java/org/apache/hadoop/hive/ql/util/HiveStrictManagedMigration.java (8 lines): - line 256: // TODO: Something is preventing the process from terminating after main(), adding exit() as hacky solution. - line 380: // TODO: logging currently goes to hive.log - line 893: // TODO: what about partitions not in the default location? - line 1034: // TODO: Fetch partitions in batches? - line 1035: // TODO: Threadpool to process partitions? - line 1225: // TODO: option to allow converting ORC file to insert-only transactional? - line 1680: // TODO: Use threadpool for more concurrency? - line 1681: // TODO: check/set all files, or only directories llap-server/src/java/org/apache/hadoop/hive/llap/io/api/impl/LlapRecordReader.java (7 lines): - line 358: // TODO: should this just use physical IDs? - line 404: // TODO: relying everywhere on the magical constants and columns being together means ACID - line 427: // TODO: WTF? The old code seems to just drop the ball here. - line 650: // TODO: plumb progress info thru the reader if we can get metadata from loader first. - line 703: // TODO: this is rather brittle, esp. in view of schema evolution (in abstract, not as - line 758: // TODO: will this work correctly with ACID? - line 871: // TODO: is this the best way to get the ColId? itests/util/src/main/java/org/apache/hadoop/hive/ql/QTestUtil.java (7 lines): - line 157: // FIXME: moved default value to here...for now - line 393: // FIXME: HIVE-24130 should remove this - line 526: // TODO: Clean up all the other paths that are created. - line 542: // TODO Convert this to an Assert.fail once HIVE-14682 is fixed - line 607: //FIXME: check why mr is needed for starting a session state from conf - line 632: // TODO: why is this needed? - line 672: //FIXME: check why mr is needed for starting a session state from conf jdbc/src/java/org/apache/hive/jdbc/HiveDataSource.java (7 lines): - line 39: // TODO Auto-generated constructor stub - line 77: // TODO Auto-generated method stub - line 89: // TODO Auto-generated method stub - line 106: // TODO Auto-generated method stub - line 118: // TODO Auto-generated method stub - line 130: // TODO Auto-generated method stub - line 142: // TODO Auto-generated method stub llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/TaskExecutorService.java (6 lines): - line 294: // TODO Change this method to make the output easier to parse (parse programmatically) - line 509: // TODO HIVE-11687 It's possible for a bunch of tasks to come in around the same time, without the - line 703: // TODO: this will probably send a message to AM. Is that needed here? - line 788: // TODO: is this check even needed given what the caller checks? - line 1009: // TODO: This potential extra preemption can be avoided by synchronizing the entire tryScheduling block.\ - line 1087: // TODO: Extend TaskRunner2 or see if an API with callbacks will work ql/src/java/org/apache/hadoop/hive/ql/exec/tez/MapRecordProcessor.java (6 lines): - line 115: // TODO: could we do this only if the OF is actually used? - line 141: // TODO HIVE-14042. Cleanup may be required if exiting early. - line 217: // TODO HIVE-14042. What is mergeWork, and why is it not part of the regular operator chain. - line 318: // TODO HIVE-14042. abort handling: Handling of mergeMapOp - line 331: // TODO HIVE-14042. Handling of dummyOps, and propagating abort information to them - line 503: // TODO: HIVE-14042. Potential blocking call. MRInput handles this correctly even if an interrupt is swallowed. standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/HiveMetaStore.java (6 lines): - line 103: * TODO:pc remove application logic to a separate interface. - line 358: // TODO: Is it worth trying to use a server that supports HTTP/2? - line 373: // TODO: Add a config for keepAlive time of threads ? - line 411: // TODO: What should the idle timeout be for the metastore? Currently it is 30 minutes - line 415: // TODO: AcceptQueueSize needs to be higher for HMS - line 417: // TODO: Connection keepalive configuration? ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezSessionPoolManager.java (6 lines): - line 212: // TODO Create and init session sets up queue, isDefault - but does not initialize the configuration - line 216: // TODO When will the queue ever be null. - line 270: // TODO: add a section like the restricted configs for overrides when there's more than one. - line 276: // TODO Session re-use completely disabled for doAs=true. Always launches a new session. - line 428: // TODO Will these checks work if some other user logs in. Isn't a doAs check required somewhere here as well. - line 499: // TODO: close basically resets the object to a bunch of nulls. llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/TaskRunnerCallable.java (6 lines): - line 219: // TODO This executor seems unnecessary. Here and TezChild - line 228: // TODO Consolidate this code with TezChild. - line 430: // TODO For now, this affects non broadcast unsorted cases as well. Make use of the edge - line 448: // TODO: Can this be moved out of the main callback path - line 571: // TODO HIVE-10236 Report a fatal error over the umbilical - line 616: // TODO: support for binary spec? presumably we'd parse it somewhere earlier llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/ContainerRunnerImpl.java (6 lines): - line 113: // TODO Setup a set of threads to process incoming requests. - line 257: // TODO: Ideally we want tez to use CallableWithMdc that retains the MDC for threads created in - line 268: // TODO What else is required in this environment map. - line 318: // TODO: ideally we'd register TezCounters here, but it seems impossible before registerTask. - line 503: // TODO: ideally, QueryTracker should have fragment-to-query mapping. - line 518: // TODO: ideally, QueryTracker should have fragment-to-query mapping. ql/src/java/org/apache/hadoop/hive/ql/parse/BaseSemanticAnalyzer.java (6 lines): - line 732: // The following 2 lines are exactly what MySQL does TODO: why do we do this? - line 759: // TODO: do we need to handle the "this is what MySQL does" here? - line 857: // TODO CAT - for now always use the default catalog. Eventually will want to see if - line 879: // TODO CAT - for now always use the default catalog. Eventually will want to see if - line 913: // TODO CAT - for now always use the default catalog. Eventually will want to see if - line 1509: // TODO - types need to be checked. ql/src/java/org/apache/hadoop/hive/ql/exec/Utilities.java (5 lines): - line 1887: // TODO: not clear why two if conditions are different. Preserve the existing logic for now. - line 1896: // TODO: not clear why two if conditions are different. Preserve the existing logic for now. - line 3994: // TODO: should this also clean merge work? - line 4382: // TODO: for some reason, globStatus doesn't work for masks like "...blah/*/delta_0000007_0000007*" - line 4688: // TODO: see HIVE-14886 - removeTempOrDuplicateFiles is broken for list bucketing, ql/src/java/org/apache/hadoop/hive/ql/io/orc/OrcInputFormat.java (5 lines): - line 749: // TODO: local cache is created once, so the configs for future queries will not be honored. - line 773: // TODO: we should be able to enable caches separately - line 1380: // TODO: potential DFS call - line 1550: // TODO: when PB is upgraded to 2.6, newInstance(ByteBuffer) method should be used here. - line 2195: // TODO: Convert genIncludedColumns and setSearchArgument to use TypeDescription. common/src/java/org/apache/hadoop/hive/common/FileUtils.java (5 lines): - line 293: // TODO: we should allow user to specify default partition or HDFS file location. - line 939: //TODO : Need to change the delete execution within doAs if doAsUser is given. - line 1156: // TODO: we could stagger these to threads by ID, but that can also lead to bad effects. - line 1168: // TODO: or we could just generate a name ourselves and not do this? - line 1184: // TODO: or we could just generate a name ourselves and not do this? ql/src/java/org/apache/hadoop/hive/ql/udf/ptf/ValueBoundaryScanner.java (5 lines): - line 950: return d1.subtract(d2).intValue() > amt; // TODO: lossy conversion! - line 1071: return (double)(l1-l2)/1000 > amt; // TODO: lossy conversion, distance is considered in seconds - line 1112: // TODO: lossy conversion, distance is considered in seconds - line 1140: return (l1 -l2) > amt; // TODO: lossy conversion, distance is considered seconds similar to timestamp - line 1173: // TODO: lossy conversion, distance is considered seconds similar to timestamp ql/src/java/org/apache/hadoop/hive/ql/ppd/SyntheticJoinPredicate.java (5 lines): - line 268: // TODO : deduplicate the code below. - line 277: // TODO : HIVE-21098 : Support for extended predicates - line 343: //TODO : In case of anti join, bloom filter can be created on left side also ("IN (keylist right table)"). - line 409: // TODO: We can extend to other expression types - line 416: // TODO: We can extend to other expression types ql/src/java/org/apache/hadoop/hive/ql/stats/StatsUpdaterThread.java (5 lines): - line 299: // TODO: ideally when col-stats-accurate stuff is stored in some sane structure, this should - line 394: // TODO: for non columnar we don't need to do this... might as well update all stats. - line 470: // TODO: we should probably skip updating if writeId is from an active txn - line 495: // TODO: we should probably skip updating if writeId is from an active txn - line 522: // TODO: acid utils don't support catalogs common/src/java/org/apache/hadoop/hive/conf/HiveConf.java (5 lines): - line 394: * TODO: Eventually auto-populate this based on prefixes. The conf variables - line 813: // TODO: this needs to be removed; see TestReplicationScenarios* comments. - line 4531: // TODO: Make use of this config to configure fetch size - line 5261: // TODO Move the following 2 properties out of Configuration to a constant. - line 5268: "TODO doc", "llap.daemon.shuffle.dir-watcher.enabled"), ql/src/java/org/apache/hadoop/hive/ql/exec/DataSketchesFunctions.java (5 lines): - line 318: // FIXME: normalize GetEstimateAndErrorBoundsUDF vs SketchToEstimateAndErrorBoundsUDF - line 321: // FIXME: normalize GetEstimateUDF vs SketchToEstimateUDF - line 348: // FIXME: missing? - line 368: // FIXME: missing? - line 404: // FIXME: missing? ql/src/java/org/apache/hadoop/hive/ql/stats/StatsUtils.java (5 lines): - line 224: // FIXME: this point will be lost after the factory; check that it's really a warning....cleanup/etc - line 320: // FIXME: misses parallel - line 353: // FIXME: this promotion process should be removed later - line 392: // FIXME: this add seems suspicious...10 lines below the value returned by this method used as betterDS - line 1272: // TODO: support complex types ql/src/java/org/apache/hadoop/hive/ql/optimizer/FixedBucketPruningOptimizer.java (5 lines): - line 137: // TODO: (a = 1) and NOT (a is NULL) can be potentially folded earlier into a NO-OP - line 140: // TODO: for ordinal types you can produce a range (BETWEEN 1444442100 1444442107) - line 152: // TODO: Add support for AND clauses under OR clauses - line 198: // TODO: think we can handle NOT IS_NULL? - line 252: // for Timestamp and Date. TODO: Move those types to storage-api. llap-server/src/java/org/apache/hadoop/hive/llap/io/api/impl/LlapIoImpl.java (5 lines): - line 122: // TODO: later, we may have a map - line 172: SerDeLowLevelCacheImpl serdeCache = null; // TODO: extract interface when needed - line 251: // IO thread pool. Listening is used for unhandled errors for now (TODO: remove?) - line 269: // TODO: this should depends on input format and be in a map, or something. - line 382: // TODO: we currently pass null counters because this doesn't use LlapRecordReader. ql/src/java/org/apache/hadoop/hive/ql/parse/ParseUtils.java (4 lines): - line 443: // We have a nested setcolref. Process that and start from scratch TODO: use stack? - line 477: // TODO: We could find a different from branch for the union, that might have an alias? - line 505: // TODO: if a side of the union has 2 columns with the same name, none on the higher - line 724: // TODO: this may be a perf issue as it prevents the optimizer.. or not llap-server/src/java/org/apache/hadoop/hive/llap/shufflehandler/DirWatcher.java (4 lines): - line 109: // TODO Watches on the output dirs need to be cancelled at some point. For now - via the expiry. - line 113: // TODO Implement to remove all watches for the specified pathString and it's sub-tree - line 160: // TODO May be possible to do finer-grained locks. - line 172: // TODO May be possible to do finer-grained locks. ql/src/java/org/apache/hadoop/hive/ql/io/parquet/vector/VectorizedPrimitiveColumnReader.java (4 lines): - line 378: // TODO figure out a better way to set repeat for Binary type - line 398: // TODO figure out a better way to set repeat for Binary type - line 418: // TODO figure out a better way to set repeat for Binary type - line 438: // TODO figure out a better way to set repeat for Binary type ql/src/java/org/apache/hadoop/hive/ql/parse/ImportSemanticAnalyzer.java (4 lines): - line 300: // TODO:cleanup after verification that the outer if isn't really needed here - line 323: // TODO: this should ideally not create AddPartitionDesc per partition - line 842: // TODO : Does this simply mean we don't allow replacement in external tables if they already exist? - line 940: /* TODO : Remove this weirdity. See notes in Table.getEmptyTable() ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveRelDecorrelator.java (4 lines): - line 142: *

TODO:

- line 1956: // TODO: ideally this only needs to be called if the result - line 1973: // TODO: Comments in RexShuttle.visitCall() mention other - line 2903: // TODO: create immutable copies of all maps hcatalog/webhcat/java-client/src/main/java/org/apache/hive/hcatalog/api/HCatClientHMSImpl.java (4 lines): - line 340: // TODO : Should be moved out. - line 480: // TODO: Should be moved out. - line 490: // TODO: Remove in Hive 0.16. - line 923: // TODO: Remove in Hive 0.16. standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/PartFilterExprUtil.java (4 lines): - line 47: // TODO MS-SPLIT - for now we have construct this by reflection because IMetaStoreClient - line 57: // TODO: this is all pretty ugly. The only reason we need all these transformations - line 83: // TODO MS-SPLIT For now if we cannot load the default PartitionExpressionForMetastore - line 101: // TODO: ExprNodeDesc is an expression tree, we could just use that and be rid of Filter.g. ql/src/java/org/apache/hadoop/hive/ql/exec/repl/ReplDumpTask.java (4 lines): - line 884: // TODO : instead of simply restricting by message format, we should eventually - line 1354: // TODO : Currently we don't support separate table list for each database. - line 1583: // TODO : instantiating FS objects are generally costly. Refactor - line 1744: // TODO: time good enough for now - we'll likely improve this. ql/src/java/org/apache/hadoop/hive/ql/optimizer/stats/annotation/StatsRulesProcFactory.java (4 lines): - line 1008: // TODO Confirm this is safe - line 2180: // TODO: Consider more than one condition - line 2650: // TODO: handle multi joins - line 2909: // TODO: in union20.q the tab alias is not properly propagated down the ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/cost/HiveOnTezCostModel.java (4 lines): - line 387: //TODO: Incase of non bucketed splits would be computed based on data size/max part size - line 454: //TODO: No Of buckets is not same as no of splits - line 615: // TODO: Split count is not the same as no of buckets - line 646: // TODO: Split count is not same as no of buckets ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezTask.java (4 lines): - line 214: // TODO: we could perhaps reuse the same directory for HiveResources? - line 376: // TODO: not clear why we don't do the rest of the cleanup if dagClient is not created. - line 474: // TODO null can also mean that this operation was interrupted. Should we really try to re-create the session in that case ? - line 613: // Clear the work map after build. TODO: remove caching instead? llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/AMReporter.java (4 lines): - line 80: // TODO In case of a failure to heartbeat, tasks for the specific DAG should ideally be KILLED - line 179: // TODO: why is this needed? we could just save the host and port? - line 298: // TODO: not stopping umbilical explicitly as some taskKill requests may get scheduled during queryComplete - line 405: // TODO: if there are more fields perhaps there should be an array of class. llap-server/src/java/org/apache/hadoop/hive/llap/cli/status/LlapStatusServiceDriver.java (4 lines): - line 329: // TODO Maybe add the YARN URL for the app. - line 724: // TODO HIVE-15865: Include information about pending requests, and last - line 756: // TODO HIVE-15865 Ideally sort these by completion time, once that is available. - line 769: // TODO HIVE-15865 Handle additional reasons like OS launch failed standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/HiveMetaException.java (4 lines): - line 24: // TODO Auto-generated constructor stub - line 29: // TODO Auto-generated constructor stub - line 34: // TODO Auto-generated constructor stub - line 39: // TODO Auto-generated constructor stub ql/src/java/org/apache/hadoop/hive/ql/exec/vector/VectorAssignRow.java (4 lines): - line 490: // TODO: HIVE-13624 Do we need maxLength checking? - line 509: // TODO: HIVE-13624 Do we need maxLength checking? - line 814: // TODO: Do we need maxLength checking? - line 834: // TODO: Do we need maxLength checking? ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/HiveRelOptUtil.java (4 lines): - line 714: // TODO: Support inference of multiple PK-FK relationships - line 776: // TODO : Need to handle Anti join. - line 889: //TODO : Handle Anti Join. https://issues.apache.org/jira/browse/HIVE-23906 - line 951: * TODO: This is a subset of a private class in materialized view rewriting ql/src/java/org/apache/hadoop/hive/ql/optimizer/physical/Vectorizer.java (3 lines): - line 1738: // TODO: should this use getPartitionDescFromPathRecursively? That's what other code uses. - line 2472: // TODO: we could also vectorize some formats based on hive.llap.io.encode.formats if LLAP IO - line 2778: //TODO: isGroupingSetsPresent() is returning false, even though standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/utils/MetaStoreServerUtils.java (3 lines): - line 496: // don't take directories into account for quick stats TODO: wtf? - line 659: // TODO: implement? - line 670: // TODO: this is invalid for ACID tables, and we cannot access AcidUtils here. common/src/java/org/apache/hive/common/util/FixedSizedObjectPool.java (3 lines): - line 210: // TODO: the fact that concurrent re-creation of other list necessitates full stop is not - line 293: // TODO: Temporary for debugging. Doesn't interfere with MTT failures (unlike LOG.debug). - line 318: // TODO: dump the end if wrapping around? llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/QueryInfo.java (3 lines): - line 103: // TODO Caching this and re-using across submissions breaks AM recovery, since the - line 198: // TODO This is broken for secure clusters. The app will not have permission to create these directories. - line 200: // TODO This should be the process user - and not the user on behalf of whom the query is being submitted. ql/src/java/org/apache/hadoop/hive/ql/exec/FileSinkOperator.java (3 lines): - line 1192: // TODO I suspect we could skip much of the stuff above this in the function in the case - line 1408: // TODO: add an option to skip this if number of partitions checks is done by Triggers via - line 1611: // TODO: why is it stored in both table and dpCtx? itests/util/src/main/java/org/apache/hadoop/hive/ql/QTestMiniClusters.java (3 lines): - line 312: // TODO Ideally this should be done independent of whether mr is setup or not. - line 560: // TODO Why is this changed from the default in hive-conf? - line 581: // TODO Make sure to cleanup created dirs. iceberg/iceberg-handler/src/main/java/org/apache/iceberg/mr/mapreduce/IcebergInputFormat.java (3 lines): - line 146: // TODO: Currently, this projection optimization stored on scan is not being used effectively on Hive side, as - line 161: // TODO add a filter parser to get rid of Serialization - line 217: // TODO: We do not support residual evaluation for HIVE and PIG in memory data model yet ql/src/java/org/apache/hadoop/hive/ql/exec/persistence/MapJoinBytesTableContainer.java (3 lines): - line 80: // TODO: For object inspector fields, assigning 16KB for now. To better estimate the memory size every - line 721: // TODO: the API here is not ideal, first/next + hasRows are redundant. - line 854: // TODO: what should we do if first was never called? for now, assert for clarity ql/src/java/org/apache/hadoop/hive/ql/ddl/table/partition/add/AlterTableAddPartitionOperation.java (3 lines): - line 57: // TODO: catalog name everywhere in this method - line 159: // TODO: normally, the result is not necessary; might make sense to pass false - line 170: // TODO : ideally, we should push this mechanism to the metastore, because, otherwise, we have llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/FunctionLocalizer.java (3 lines): - line 89: // TODO: We don't want some random jars of unknown provenance sitting around. Or do we care? - line 236: // TODO: we could fall back to trying one by one and only ignore the failed ones. - line 251: // TODO: we could fall back to trying one by one and only ignore the failed ones. itests/util/src/main/java/org/apache/hadoop/hive/cli/control/AbstractCliConfig.java (3 lines): - line 57: // FIXME: file paths in strings should be changed to either File or Path ... anything but String - line 70: // FIXME: null value is treated differently on the other end..when those filter will be - line 367: // FIXME: this should be changeto valueOf ... ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/translator/SqlFunctionConverter.java (3 lines): - line 237: // TODO: 1) handle Agg Func Name translation 2) is it correct to add func - line 321: // TODO: this is not valid. Function names for built-in UDFs are specified in - line 578: //TODO: Perhaps we should do this for all functions, not just +,- iceberg/iceberg-handler/src/main/java/org/apache/iceberg/mr/hive/vector/HiveVectorizedReader.java (3 lines): - line 94: // TODO: take requiredSchema and adjust readColumnIds below accordingly for equality delete cases - line 151: // TODO: Iceberg currently does not track the last modification time of a file. Until that's added, - line 198: // TODO: add support for reading files with positional deletes with LLAP (LLAP would need to provide file row num) ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezSessionPool.java (3 lines): - line 92: // TODO: rather, Tez sessions should not depend on SessionState. - line 252: // TODO: this might only be applicable to TezSessionPoolManager; try moving it there? - line 255: // registry again just in case. TODO: maybe we should enforce that. ql/src/java/org/apache/hadoop/hive/ql/optimizer/GenMapRedUtils.java (3 lines): - line 1117: // TODO: Allocate work to remove the temporary files and make that - line 1840: // TODO: if we are not dealing with concatenate DDL, we should not create a merge+move path - line 1966: // TODO: wtf?!! why is this in this method? This has nothing to do with anything. standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/txn/jdbc/functions/CommitTxnFunction.java (3 lines): - line 321: //TODO: would be better to replace with MERGE or UPSERT - line 368: //TODO: would be better to replace with MERGE or UPSERT - line 422: //TODO: would be better to replace with MERGE or UPSERT ql/src/java/org/apache/hadoop/hive/ql/ddl/view/materialized/alter/rebuild/AlterMaterializedViewRebuildAnalyzer.java (3 lines): - line 440: // TODO: Create rewrite rule to transform the plan to partition based incremental rebuild - line 449: // TODO: plan may contains TS on fully ACID table and aggregate functions which are not supported the - line 580: // TODO: Support MERGE as first class member in CBO to simplify this logic. ql/src/java/org/apache/hadoop/hive/llap/LlapCacheAwareFs.java (3 lines): - line 270: // TODO: should we try to make a giant array for one cache call to avoid overhead? - line 275: // TODO: if we allow partial reads (right now we disable this), we'd have to handle it here. - line 317: // TODO: add allocate overload with an offset and length ql/src/java/org/apache/hadoop/hive/ql/optimizer/correlation/CorrelationOptimizer.java (3 lines): - line 106: // TODO: If hive.auto.convert.join.noconditionaltask=true, for a JoinOperator - line 451: // TODO: we should relax this condition - line 452: // TODO: we need to handle aggregation functions with distinct keyword. In this case, ql/src/java/org/apache/hadoop/hive/ql/stats/BasicStatsTask.java (3 lines): - line 154: // FIXME: move this to ColStat related part - line 481: * TODO: we should reuse the Partitions generated at compile time - line 540: // FIXME: this is a secret contract; reusein getAggrKey() creates a more closer relation to the StatsGatherer llap-client/src/java/org/apache/hadoop/hive/llap/coordinator/LlapCoordinator.java (3 lines): - line 66: // TODO: probably temporary before HIVE-13698; after that we may create one per session. - line 91: // TODO: if two HS2s start at exactly the same time, which could happen during a coordinated - line 154: /** TODO: ideally, when the splits UDF is made a proper API, coordinator should not ql/src/java/org/apache/hadoop/hive/ql/parse/ReplicationSemanticAnalyzer.java (3 lines): - line 242: // TODO : simple wrap & rethrow for now, clean up with error codes - line 377: // TODO : simple wrap & rethrow for now, clean up with error codes - line 505: throw new SemanticException(e); // TODO : simple wrap & rethrow for now, clean up with error jdbc/src/java/org/apache/hive/jdbc/HiveDatabaseMetaData.java (3 lines): - line 192: // TODO: perhaps this could use a better implementation... for now even the Hive query result - line 318: // TODO: verify that this is correct - line 662: // TODO: need to set catalog parameter ql/src/java/org/apache/hadoop/hive/ql/exec/tez/SplitGrouper.java (3 lines): - line 72: // TODO This needs to be looked at. Map of Map to Map... Made concurrent for now since split generation - line 223: * TODO: Are there any other config values (split size etc) that can override this per writer split grouping? - line 353: // TODO HIVE-12255. Make use of SplitSizeEstimator. hbase-handler/src/java/org/apache/hadoop/hive/hbase/HBaseStorageHandler.java (3 lines): - line 283: // TODO: support detecting cf's from column mapping - line 284: // TODO: support loading into multiple CF's at a time - line 289: // TODO: should call HiveHFileOutputFormat#setOutputPath service/src/java/org/apache/hive/service/cli/operation/SQLOperation.java (3 lines): - line 115: // TODO: call setRemoteUser in ExecuteStatementOperation or higher. - line 321: // TODO: can this result in cross-thread reuse of session state? - line 336: // TODO: why do we invent our own error path op top of the one from Future.get? hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/listener/NotificationListener.java (3 lines): - line 154: * TODO: DataNucleus 2.0.3, currently used by the HiveMetaStore for persistence, has been - line 268: * TODO: DataNucleus 2.0.3, currently used by the HiveMetaStore for persistence, has been - line 458: // TODO: Fix LoadPartitionDoneEvent. Currently, LPDE can only carry a single partition-spec. And that defeats the purpose. ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveJoinConstraintsRule.java (3 lines): - line 89: //TODO:https://issues.apache.org/jira/browse/HIVE-23920 - line 183: // TODO: There are no references in the project operator above. - line 194: //case ANTI: //TODO:https://issues.apache.org/jira/browse/HIVE-23920 ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/translator/PlanModifierForASTConv.java (3 lines): - line 170: // TODO: Handle more than 2 inputs for setop - line 342: // TODO: Verify GB having is not a separate filter (if so we shouldn't - line 457: // TODO: Using 0 might be wrong; might need to walk down to find the llap-client/src/java/org/apache/hadoop/hive/llap/registry/impl/LlapZookeeperRegistryImpl.java (3 lines): - line 86: // to be used by clients of ServiceRegistry TODO: this is unnecessary - line 215: // TODO: read this somewhere useful, like the task scheduler - line 334: // TODO: this class is completely unnecessary... 1-on-1 mapping with parent. llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/LlapDaemon.java (3 lines): - line 132: // TODO Not the best way to share the address - line 260: // TODO: this check is somewhat bogus as the maxJvmMemory != Xmx parameters (see annotation in LlapServiceDriver) - line 652: // TODO Replace this with a ExceptionHandler / ShutdownHook jdbc/src/java/org/apache/hive/jdbc/HiveQueryResultSet.java (3 lines): - line 280: // TODO need session handle - line 287: // TODO: should probably throw an exception here. - line 391: // TODO: Could support pool with maxRows by bounding results instead kafka-handler/src/java/org/apache/hadoop/hive/kafka/KafkaSerDe.java (3 lines): - line 194: //@TODO check if i can cache this if it is the same. - line 451: //@TODO There is no reason to decode then encode the string to bytes really - line 452: //@FIXME this issue with CTRL-CHAR ^0 added by Text at the end of string and Json serd does not like that. accumulo-handler/src/java/org/apache/hadoop/hive/accumulo/predicate/AccumuloRangeGenerator.java (3 lines): - line 108: // TODO handle negations - line 248: // TODO We can try to be smarter and push up the value to some node which - line 359: // TODO is there a more correct way to get the literal value for the Object? ql/src/java/org/apache/hadoop/hive/ql/io/HiveInputFormat.java (3 lines): - line 362: // TODO: should we check isAssignableFrom? - line 619: // TODO: change to FileInputFormat.... field after MAPREDUCE-7086. - line 878: if (dirs.length != 0) { // TODO: should this be currentDirs? llap-tez/src/java/org/apache/hadoop/hive/llap/tezplugins/scheduler/StatsPerDag.java (3 lines): - line 99: // TODO Change after HIVE-9987. For now, there's no rack matching. - line 108: // TODO Change after HIVE-9987. For now, there's no rack matching. - line 124: // TODO Track stats of rejections etc per host llap-server/src/java/org/apache/hadoop/hive/llap/io/decode/OrcEncodedDataConsumer.java (3 lines): - line 307: // TODO: we could/should trace seek destinations; pps needs a "peek" method - line 327: // TODO: When hive moves to java8, make updateTimezone() as default method in - line 369: // TODO: this assumes indexes in getRowIndexes would match column IDs ql/src/java/org/apache/hadoop/hive/ql/exec/vector/VectorizationContext.java (2 lines): - line 1315: // TODO: precision and scale would be practically invalid for string conversion (38,38) - line 2894: // TODO: the below assumes that all the arguments to IN are of the same type; ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/HiveCalciteUtil.java (2 lines): - line 922: // TODO: Change ExprNodeConverter to be independent of Partition Expr - line 927: // TODO: Knowing which expr is constant in GBY's aggregation function ql/src/java/org/apache/hadoop/hive/ql/exec/tez/ReduceRecordProcessor.java (2 lines): - line 109: // TODO HIVE-14042. Move to using a loop and a timed wait once TEZ-3302 is fixed. - line 215: // TODO HIVE-14042. Propagating abort to dummyOps. ql/src/java/org/apache/hadoop/hive/ql/io/HiveFileFormatUtils.java (2 lines): - line 328: // TODO not 100% sure about this. This call doesn't set the compression type in the conf - line 422: // FIXME: old implementation returned null; exception maybe? ql/src/java/org/apache/hadoop/hive/ql/io/parquet/vector/VectorizedListColumnReader.java (2 lines): - line 38: * TODO Currently List type only support non nested case. - line 181: // TODO Reduce the duplicated code ql/src/java/org/apache/hadoop/hive/ql/ppd/OpProcFactory.java (2 lines): - line 93: * filter operator after itself. TODO: Further optimizations 1) Multi-insert - line 639: * TODO: further optimization opportunity for the case a.c1 = b.c1 and b.c2 ql/src/java/org/apache/hadoop/hive/ql/udf/esri/serde/GeoJsonSerDe.java (2 lines): - line 49: e1.printStackTrace(); // TODO Auto-generated catch block - line 51: e1.printStackTrace(); // TODO Auto-generated catch block ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/stats/HiveRelMdRowCount.java (2 lines): - line 145: //TODO : Need to handle anti join in calcite - line 380: // TODO: Support semijoin standalone-metastore/metastore-common/src/main/thrift/hive_metastore.thrift (2 lines): - line 956: // TODO: we might want to add "bestEffort" flag; where a subset can fail - line 2295: // TODO: also add cascade here, out of envCtx standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/IMetaStoreMetadataTransformer.java (2 lines): - line 46: // TODO HiveMetaException or MetaException - line 58: // TODO HiveMetaException or MetaException hcatalog/webhcat/java-client/src/main/java/org/apache/hive/hcatalog/api/repl/ReplicationUtils.java (2 lines): - line 202: sb.append(e.getKey()); // TODO : verify if any quoting is needed for keys - line 205: sb.append(e.getValue()); // TODO : verify if any escaping is needed for values ql/src/java/org/apache/hadoop/hive/ql/io/parquet/ProjectionPusher.java (2 lines): - line 94: // TODO: not having aliases for path usually means some bug. Should it give up? - line 187: updateMrWork(jobConf); // TODO: refactor this in HIVE-6366 ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDTFGetSplits.java (2 lines): - line 441: // TODO: should we also whitelist input formats here? from mapred.input.format.class - line 769: // TODO: if this method is ever called on more than one jar, getting the dir ql/src/java/org/apache/hadoop/hive/ql/exec/CommonMergeJoinOperator.java (2 lines): - line 525: }// TODO: "else {"? This happened in the past due to a bug, see HIVE-11016. - line 559: // TODO: this reproduces the logic of the loop that was here before, assuming llap-server/src/java/org/apache/hadoop/hive/llap/cli/service/LlapServiceDriver.java (2 lines): - line 127: // TODO: need to move from Python to Java for the rest of the script. - line 214: // TODO: vcpu settings - possibly when DRFA works right llap-server/src/java/org/apache/hadoop/hive/llap/io/decode/OrcColumnVectorProducer.java (2 lines): - line 63: // TODO: if using in multiple places, e.g. SerDe cache, pass this in. - line 64: // TODO: should this rather use a threadlocal for NUMA affinity? llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/QueryTracker.java (2 lines): - line 99: // TODO At the moment there's no way of knowing whether a query is running or not. - line 177: // TODO: for now, we get the secure username out of UGI... after signing, we can take it ql/src/java/org/apache/hadoop/hive/ql/stats/BasicStats.java (2 lines): - line 148: // FIXME: there were different logic for part/table; merge these logics later - line 169: // FIXME: this promotion process should be removed later llap-common/src/java/org/apache/hadoop/hive/llap/AsyncPbRpcProxy.java (2 lines): - line 45: // TODO: LlapNodeId is just a host+port pair; we could make this class more generic. - line 209: // TODO: why CAS if the result is not checked? ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/translator/opconventer/HiveProjectVisitor.java (2 lines): - line 81: //TODO: Cols that come through PTF should it retain (VirtualColumness)? - line 92: // TODO: is this a safe assumption (name collision, external names...) hbase-handler/src/java/org/apache/hadoop/hive/hbase/HBaseTableSnapshotInputFormatUtil.java (2 lines): - line 36: * TODO: remove this class when it's okay to drop support for earlier version of HBase. - line 84: * TODO: remove once HBASE-11555 is fixed. ql/src/java/org/apache/hadoop/hive/ql/optimizer/ConstantPropagateProcFactory.java (2 lines): - line 184: // FIXME: support template types. It currently has conflict with ExprNodeConstantDesc - line 1216: // FIXME: Support pruning dynamic partitioning. beeline/src/java/org/apache/hive/beeline/Commands.java (2 lines): - line 1198: // ### FIXME: doing the multi-line handling down here means - line 1750: // ### FIXME: this is broken for multi-line SQL ql/src/java/org/apache/hadoop/hive/ql/Executor.java (2 lines): - line 98: // TODO: should this use getUserFromAuthenticator? - line 509: // TODO: do better with handling types of Exception here ql/src/java/org/apache/hadoop/hive/ql/exec/tez/YarnQueueHelper.java (2 lines): - line 117: // TODO: if we ever use this endpoint for anything else, refactor cycling into a separate class. - line 201: // TODO: handle 401 and return a new connection? nothing for now ql/src/java/org/apache/hadoop/hive/ql/optimizer/CountDistinctRewriteProc.java (2 lines): - line 161: // TODO: may be the same count(distinct key), count(distinct key) - line 162: // TODO: deal with duplicate count distinct key itests/util/src/main/java/org/apache/hive/jdbc/miniHS2/MiniHS2.java (2 lines): - line 325: // TODO: This should be making use of confDir to load configs setup for Tez, etc. - line 746: // Passive HS2 has started. TODO: seems fragile hcatalog/webhcat/java-client/src/main/java/org/apache/hive/hcatalog/api/HCatTable.java (2 lines): - line 87: STATS // TODO: Handle replication of changes to Table-STATS. - line 195: // TODO: Verify that this works for systems using UGI.doAs() (e.g. Oozie). ql/src/java/org/apache/hadoop/hive/ql/Driver.java (2 lines): - line 238: // TODO: Lock acquisition should be moved before analyze, this is a bit hackish. - line 622: // TODO explain should use a FetchTask for reading beeline/src/java/org/apache/hive/beeline/BeeLine.java (2 lines): - line 122: * TODO: - line 2395: // TODO: Make script output prefixing configurable. Had to disable this since llap-client/src/java/org/apache/hadoop/hive/llap/registry/impl/LlapFixedRegistryImpl.java (2 lines): - line 91: // TODO: read this somewhere useful, like the task scheduler - line 178: // TODO: allow >1 port per host? ql/src/java/org/apache/hadoop/hive/ql/optimizer/StatsOptimizer.java (2 lines): - line 102: // TODO: [HIVE-6289] while getting stats from metastore, we currently only get one col at - line 104: // TODO: [HIVE-6292] aggregations could be done directly in metastore. Hive over MySQL! ql/src/java/org/apache/hadoop/hive/ql/plan/Statistics.java (2 lines): - line 217: // TODO: this boolean flag is set only by RS stats annotation at this point - line 348: // FIXME: using real scaling by new/old ration might yield better results? ql/src/java/org/apache/hadoop/hive/ql/ddl/table/partition/add/AlterTableAddPartitionDesc.java (2 lines): - line 47: private String location; // TODO: make location final too - line 179: private ReplicationSpec replicationSpec = null; // TODO: make replicationSpec final too standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/Warehouse.java (2 lines): - line 293: // TODO CAT - I am fairly certain that most calls to this are in error. This should only be - line 438: // TODO: this operation can be expensive depending on the size of data. ql/src/java/org/apache/hadoop/hive/ql/metadata/Table.java (2 lines): - line 230: //TODO setting serializaton format here is hacky. Only lazy simple serde needs it - line 636: // TODO merge this with getBucketCols function standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/ReplChangeManager.java (2 lines): - line 338: // TODO: fs checksum only available on hdfs, need to - line 415: // TODO: this needs to be enhanced once change management based filesystem is implemented standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/HiveAlterHandler.java (2 lines): - line 662: // TODO: refactor this into a separate method after master merge, this one is too big. - line 1143: // TODO: doesn't take txn stats into account. This method can only remove stats. ql/src/java/org/apache/hadoop/hive/ql/udf/esri/serde/BaseJsonSerDe.java (2 lines): - line 209: // TODO Auto-generated catch block - line 212: // TODO Auto-generated catch block ql/src/java/org/apache/hadoop/hive/ql/exec/mr/ExecDriver.java (2 lines): - line 403: // TODO: why is there a TezSession in MR ExecDriver? - line 405: // TODO: this is the only place that uses keepTmpDir. Why? ql/src/java/org/apache/hadoop/hive/ql/exec/TopNHash.java (2 lines): - line 44: * TODO: rename to TopNHeap? - line 119: // TODO: For LLAP, assumption is off-heap cache. ql/src/java/org/apache/hadoop/hive/ql/ddl/table/partition/drop/AbstractDropPartitionAnalyzer.java (2 lines): - line 87: // TODO : the contains message check is fragile, we should refactor SemanticException to be - line 150: // TODO: ifExists could be moved to metastore. In fact it already supports that. Check it ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveJoinProjectTransposeRule.java (2 lines): - line 137: //TODO: this can be removed once CALCITE-3824 is released - line 140: //TODO:https://issues.apache.org/jira/browse/HIVE-23921 ql/src/java/org/apache/hadoop/hive/ql/io/CombineHiveRecordReader.java (2 lines): - line 76: // TODO : refactor this out - line 125: // TODO: we could also compare the schema and SerDe, and pass only those to the call ql/src/java/org/apache/hadoop/hive/ql/exec/MoveTask.java (2 lines): - line 563: // TODO I should be able to make this work for update - line 694: // TODO: In a follow-up to HIVE-1361, we should refactor loadDynamicPartitions ql/src/java/org/apache/hadoop/hive/llap/LlapOutputFormatService.java (2 lines): - line 68: // TODO: the global lock might be to coarse here. - line 222: // TODO: write error to the channel? there's no mechanism for that now. ql/src/java/org/apache/hadoop/hive/ql/metadata/HiveMaterializedViewsRegistry.java (2 lines): - line 443: //@TODO it will be nice to refactor it - line 510: //@TODO this seems to be the same as org.apache.hadoop.hive.ql.parse.CalcitePlanner.TableType.DRUID do we really need both ql/src/java/org/apache/hadoop/hive/ql/exec/repl/bootstrap/events/filesystem/FSTableEvent.java (2 lines): - line 125: //TODO: if partitions are loaded lazily via the iterator then we will have to avoid conversion of everything here as it defeats the purpose. - line 127: // TODO: this should ideally not create AddPartitionDesc per partition standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/txn/TxnHandler.java (2 lines): - line 939: * TODO: remove in future, for testing only, do not use. - line 950: * TODO: remove in future, for testing only, do not use. ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezProcessor.java (2 lines): - line 83: // TODO: Replace with direct call to ProgressHelper, when reliably available. - line 278: // TODO HIVE-14042. In case of an abort request, throw an InterruptedException llap-server/src/java/org/apache/hadoop/hive/llap/security/LlapUgiHelper.java (2 lines): - line 53: // TODO: the only reason this is done this way is because we want unique Subject-s so that - line 55: // TODO: could we log in from ticket cache instead? no good method on UGI right now ql/src/java/org/apache/hadoop/hive/ql/metadata/Partition.java (2 lines): - line 316: * TODO: Keeping this code around for later use when we will support - line 378: // TODO: add test case and clean it up ql/src/java/org/apache/hadoop/hive/ql/ddl/workloadmanagement/resourceplan/alter/AbstractAlterResourcePlanStatusOperation.java (2 lines): - line 64: // TODO: shut down HS2? - line 105: // TODO: shut down HS2? service/src/java/org/apache/hive/service/cli/session/HiveSessionImpl.java (2 lines): - line 102: // TODO: some SessionState internals are not thread safe. The compile-time internals are synced - line 122: // TODO: the control flow for this needs to be defined. Hive is supposed to be thread-local. ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/stats/FilterSelectivityEstimator.java (2 lines): - line 164: // TODO: 1) check for duplicates 2) We assume in clause values to be - line 408: * TODO: improve this ql/src/java/org/apache/hadoop/hive/ql/Compiler.java (2 lines): - line 162: // FIXME: side effect will leave the last query set at the session level - line 328: return true; // TODO: check if we could optimize !context.isExplainPlan() standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/PartitionProjectionEvaluator.java (2 lines): - line 138: //TODO there is no mapping for isStatsCompliant to JDO MPartition - line 320: // TODO some of the optional partition fields are never set by DirectSQL implementation standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/AggregateStatsCache.java (2 lines): - line 279: // TODO: make add asynchronous: add shouldn't block the higher level calls - line 508: // TODO: figure out a better data structure for node list(?) ql/src/java/org/apache/hadoop/hive/ql/plan/LoadTableDesc.java (2 lines): - line 50: // TODO: the below seem like they should just be combined into partitionDesc - line 245: // TODO: Who actually needs this? Might just be some be pointless legacy code. ql/src/java/org/apache/hadoop/hive/ql/ddl/table/create/CreateTableOperation.java (2 lines): - line 189: // TODO: If we are ok with breaking compatibility of existing 3rd party StorageHandlers, - line 193: // TODO: why doesn't this check class name rather than toString? hcatalog/core/src/main/java/org/apache/hive/hcatalog/common/HiveClientCache.java (2 lines): - line 166: // TODO: This global lock may not be necessary as all concurrent methods in ICacheableMetaStoreClient - line 242: // TODO: periodically reload a new HiveConf to check if stats reporting is enabled. ql/src/java/org/apache/hadoop/hive/ql/io/AcidUtils.java (2 lines): - line 1057: * TODO: define TransactionallyVisible interface - add getVisibilityTxnId() etc and all comments - line 2409: // TODO: this is not ideal... stats updater that doesn't have write ID is currently ql/src/java/org/apache/hadoop/hive/ql/exec/DDLPlanUtils.java (2 lines): - line 320: //TODO: Adding/Updating Stats to Default Partition Not Allowed. Need to Fix Later - line 662: //TODO : Check if only Accessed Column Statistics Can be Retrieved From the HMS. ql/src/java/org/apache/hadoop/hive/ql/parse/RowResolver.java (2 lines): - line 56: // TODO: Refactor this and do in a more object oriented manner - line 417: // TODO: 1) How to handle collisions? 2) Should we be cloning ColumnInfo or not? standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/conf/MetastoreConf.java (2 lines): - line 166: * TODO - I suspect the vast majority of these don't need to be here. But it requires testing - line 1670: // TODO: Should we have a separate config for the metastoreclient or THRIFT_TRANSPORT_MODE ql/src/java/org/apache/hadoop/hive/ql/exec/vector/VectorExtractRow.java (2 lines): - line 383: // TODO: maybe not create writable for POJO case - line 416: // TODO: maybe not create writable for POJO case standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/FileMetadataManager.java (2 lines): - line 97: // TODO: use fileId right from the list after HDFS-7878; or get dfs client and do it - line 105: // TODO: use the other HdfsUtils here ql/src/java/org/apache/hadoop/hive/ql/exec/tez/DagUtils.java (2 lines): - line 1477: // TODO: convert this to a predicate too - line 1714: * TODO This method is temporary. Ideally Hive should only need to pass to Tez the amount of memory ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/stats/HiveRelMdDistinctRowCount.java (2 lines): - line 87: //TODO : Currently calcite does not support this. - line 115: * TODO: This method is a copy of {@link RelMdUtil#getJoinDistinctRowCount}. service/src/java/org/apache/hive/service/auth/saml/HiveSaml2Client.java (2 lines): - line 50: * HTTP-Redirect binding. //TODO: Add support for HTTP-Post binding for SAML request. - line 52: * //TODO Note that this implementation is only to be used when HiveServer2 is not ql/src/java/org/apache/hadoop/hive/ql/reexec/ReExecDriver.java (2 lines): - line 218: // FIXME: somehow place pointers that re-execution compilation have failed; the query have been successfully compiled before? - line 226: // FIXME: retain old error; or create a new one? llap-server/src/java/org/apache/hadoop/hive/llap/io/encoded/VectorDeserializeOrcWriter.java (2 lines): - line 99: // TODO: if more writers are added, separate out an EncodingWriterFactory - line 349: // TODO: for now, create this from scratch. Ideally we should return the vectors from ops. ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveSubQueryRemoveRule.java (2 lines): - line 69: * TODO: - line 439: //TODO : As of now anti join is first converted to left outer join ql/src/java/org/apache/hadoop/hive/ql/exec/persistence/BytesBytesMultiHashMap.java (2 lines): - line 146: * TODO: actually we could also use few bits to store largestNumberOfSteps for each, - line 818: // TODO: we could actually store a bit flag in ref indicating whether this is a hash shims/0.23/src/main/java/org/apache/hadoop/hive/shims/Hadoop23Shims.java (2 lines): - line 375: // TODO Force fs to file://, setup staging dir? - line 1599: // TODO: use a proper method after we can depend on HADOOP-13081. ql/src/java/org/apache/hadoop/hive/ql/exec/ReduceSinkOperator.java (2 lines): - line 130: // TODO: we only ever use one row of these at a time. Why do we need to cache multiple? - line 288: // TODO: this is fishy - we init object inspectors based on first tag. We ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveAntiSemiJoinRule.java (2 lines): - line 76: //TODO : Need to support this scenario. - line 133: //TODO If some conditions like (fld1 is null or fld2 is null) present, it will not be considered for conversion. iceberg/iceberg-handler/src/main/java/org/apache/iceberg/mr/mapreduce/IcebergRecordReader.java (2 lines): - line 150: // TODO: We have to take care of the EncryptionManager when LLAP and vectorization is used - line 194: // TODO: Support Pig and Hive object models for IcebergInputFormat metastore/src/java/org/apache/hadoop/hive/metastore/HiveClientCache.java (2 lines): - line 162: // TODO: This global lock may not be necessary as all concurrent methods in ICacheableMetaStoreClient - line 238: // TODO: periodically reload a new HiveConf to check if stats reporting is enabled. ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveProjectJoinTransposeRule.java (2 lines): - line 40: * TODO: Use Calcite rule once we can pass the matching operand as a parameter - line 82: return; // TODO: support SemiJoin ql/src/java/org/apache/hadoop/hive/ql/exec/ReplCopyTask.java (2 lines): - line 202: // TODO : verify if skipping charset here is okay - line 223: // TODO: revisit close to the end of replv2 dev, to see if our assumption now still holds, ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveRelColumnsAlignment.java (2 lines): - line 146: // TODO: Currently we only support EQUAL operator on two references. - line 227: // TODO: support propagation for partitioning/ordering in windowing ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveFilterJoinRule.java (2 lines): - line 157: * TODO: Remove this method once {@link RelOptUtil#classifyFilters} is fixed. - line 189: // TODO - add logic to derive additional filters. E.g., from ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/stats/HiveRelMdPredicates.java (2 lines): - line 75: //TODO: Move this to calcite - line 161: //TODO: Move this to calcite ql/src/java/org/apache/hadoop/hive/ql/exec/vector/ptf/VectorPTFEvaluatorAbstractLeadLag.java (2 lines): - line 56: // FIXME: always getLongValue()? check if other type is given in 3rd argument - line 97: // TODO: HIVE-25123: Implement vectorized streaming lead/lag ql/src/java/org/apache/hadoop/hive/ql/exec/Operator.java (2 lines): - line 372: // TODO: ugly hack because Java does not have dtors and Tez input - line 1533: // FIXME: HIVE-18703 should probably move this method somewhere else ql/src/java/org/apache/hadoop/hive/ql/io/HdfsUtils.java (2 lines): - line 128: // TODO: this relies on HDFS not changing the format; we assume if we could get inode ID, this - line 148: if (defaultAuthority == null) return false; // TODO: What does this even mean? ql/src/java/org/apache/hadoop/hive/ql/io/parquet/vector/VectorizedParquetRecordReader.java (2 lines): - line 148: // TODO: also support fileKey in splits, like OrcSplit does - line 489: // TODO support only non nested case ql/src/java/org/apache/hadoop/hive/ql/parse/RewriteSemanticAnalyzer.java (2 lines): - line 218: //TODO: this is actually not adding anything since LockComponent uses a Trie to "promote" a lock - line 342: // TODO: why is this like that? ql/src/java/org/apache/hadoop/hive/ql/parse/TezCompiler.java (2 lines): - line 1526: // TODO: Add more policies and make the selection a conf property - line 2073: // TODO Handle multi column semi-joins as part of HIVE-23934 hcatalog/webhcat/java-client/src/main/java/org/apache/hive/hcatalog/api/repl/exim/EximReplicationTaskFactory.java (1 line): - line 38: // TODO : Java 1.7+ support using String with switches, but IDEs don't all seem to know that. standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/dataconnector/jdbc/AbstractJDBCConnectorProvider.java (1 line): - line 81: String password = null; // TODO convert to byte array ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/stats/HiveRelMdSize.java (1 line): - line 138: // TODO: remove when averageTypeValueSize method RelMdSize ql/src/java/org/apache/hadoop/hive/ql/io/parquet/convert/ETypeConverter.java (1 line): - line 710: // TODO HIVE-27529 Add dictionary encoding support for parquet decimal types ql/src/java/org/apache/hadoop/hive/ql/log/HushableRandomAccessFileAppender.java (1 line): - line 98: getManager().setEndOfBatch(event.isEndOfBatch()); // FIXME manager's EndOfBatch threadlocal can be deleted ql/src/java/org/apache/hadoop/hive/ql/optimizer/signature/OpSignature.java (1 line): - line 52: // FIXME: consider other operator info as well..not just conf? hcatalog/core/src/main/java/org/apache/hive/hcatalog/mapreduce/HCatRecordReader.java (1 line): - line 103: // TODO This should be passed in the TaskAttemptContext instead llap-client/src/java/org/apache/hadoop/hive/llap/registry/impl/SlotZnode.java (1 line): - line 260: startCreateCurrentNode(); // TODO: a pattern from Curator. Better error handling? jdbc/src/java/org/apache/hive/jdbc/HiveResultSetMetaData.java (1 line): - line 128: // TODO: this would be better handled in an enum ql/src/java/org/apache/hadoop/hive/ql/exec/tez/HashTableLoader.java (1 line): - line 223: //TODO : Need to use class instead of string. standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/dataconnector/jdbc/OracleConnectorProvider.java (1 line): - line 57: //TODO: Large Objects (LOB), Interval data types of oracle needs to be supported. ql/src/java/org/apache/hadoop/hive/ql/ddl/table/misc/touch/AlterTableTouchOperation.java (1 line): - line 43: // TODO: catalog accumulo-handler/src/java/org/apache/hadoop/hive/accumulo/mr/HiveAccumuloTableInputFormat.java (1 line): - line 395: // TODO use an iterator to do the filter, server-side. ql/src/java/org/apache/hadoop/hive/ql/plan/mapper/EmptyStatsSource.java (1 line): - line 54: // TODO Auto-generated method stub serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/InspectableObject.java (1 line): - line 24: * TODO: we need to redefine the hashCode and equals methods, so that it can be standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/columnstats/aggr/DateColumnStatsAggregator.java (1 line): - line 150: // TODO: bail out if missing stats are over a certain threshold ql/src/java/org/apache/hadoop/hive/ql/exec/tez/HostAffinitySplitLocationProvider.java (1 line): - line 39: * TODO: Support for consistent hashing when combining the split location generator and the ServiceRegistry. ql/src/java/org/apache/hadoop/hive/ql/processors/CompileProcessor.java (1 line): - line 150: /* TODO Escape handling may be changed by a follow on. standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/DatabaseProduct.java (1 line): - line 59: // TODO: collect more unrecoverable Exceptions ql/src/java/org/apache/hadoop/hive/ql/udf/esri/ST_Buffer.java (1 line): - line 47: // TODO persist type information (polygon vs multipolygon) serde/src/java/org/apache/hadoop/hive/serde2/lazy/LazyUtils.java (1 line): - line 428: //TODO should replace with BytesWritable.copyData() once Hive hcatalog/core/src/main/java/org/apache/hive/hcatalog/cli/HCatDriver.java (1 line): - line 60: // FIXME: it would be probably better to move this to an after-execution storage-api/src/java/org/apache/hadoop/hive/common/io/DiskRangeList.java (1 line): - line 72: // TODO: this duplicates a method in ORC, but the method should actually be here. ql/src/java/org/apache/hadoop/hive/ql/stats/Partish.java (1 line): - line 143: // FIXME: possibly the distinction between table/partition is not need; however it was like this before....will change it later standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/HiveMetaStoreChecker.java (1 line): - line 146: // TODO: I do not think this is used by anything other than tests ql/src/java/org/apache/hadoop/hive/ql/ddl/table/constraint/add/AlterTableAddConstraintAnalyzer.java (1 line): - line 56: // TODO CAT - for now always use the default catalog. Eventually will want to see if ql/src/java/org/apache/hadoop/hive/ql/history/HiveHistoryViewer.java (1 line): - line 73: // TODO pass on this exception service/src/java/org/apache/hive/service/cli/thrift/ThriftCLIServiceClient.java (1 line): - line 175: // FIXME extract the right info type iceberg/iceberg-handler/src/main/java/org/apache/iceberg/mr/hive/HiveIcebergStorageHandler.java (1 line): - line 1444: // TODO: make it configurable whether we want to include the table columns in the select query. hcatalog/webhcat/java-client/src/main/java/org/apache/hive/hcatalog/api/repl/commands/DropTableCommand.java (1 line): - line 58: sb.append(tableName); // TODO: Handle quoted tablenames hcatalog/core/src/main/java/org/apache/hive/hcatalog/cli/SemanticAnalysis/CreateTableHook.java (1 line): - line 180: //TODO: set other Table properties as needed serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/WritableConstantHiveVarcharObjectInspector.java (1 line): - line 46: // TODO: enforce max length ql/src/java/org/apache/hadoop/hive/ql/ddl/table/partition/add/AlterViewAddPartitionAnalyzer.java (1 line): - line 91: // FIXME: is it ok to have a completely new querystate? ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveFilterProjectTransposeRule.java (1 line): - line 165: // TODO: standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/txn/jdbc/functions/TopCompactionMetricsDataPerTypeFunction.java (1 line): - line 46: //TODO: Highly inefficient, should be replaced by a single select ql/src/java/org/apache/hadoop/hive/ql/optimizer/lineage/LineageCtx.java (1 line): - line 158: // TODO: Fix the expressions later. ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/translator/opconventer/HiveOpConverter.java (1 line): - line 54: // TODO: remove this after stashing only rqd pieces from opconverter ql/src/java/org/apache/hadoop/hive/ql/exec/vector/wrapper/VectorHashKeyWrapperGeneral.java (1 line): - line 397: // FIXME: isNull is not updated; which might cause problems service/src/java/org/apache/hive/service/cli/thrift/ThriftHttpCLIService.java (1 line): - line 245: // TODO: check defaults: maxTimeout, keepalive, maxBodySize, llap-client/src/java/org/apache/hadoop/hive/llap/security/LlapTokenLocalClientImpl.java (1 line): - line 33: // TODO: create this centrally in HS2 case ql/src/java/org/apache/hadoop/hive/ql/io/orc/OrcFileFormatProxy.java (1 line): - line 45: // TODO: ideally we should store shortened representation of only the necessary fields standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/utils/FileUtils.java (1 line): - line 305: // TODO: we should allow user to specify default partition or HDFS file location. ql/src/java/org/apache/hadoop/hive/ql/exec/vector/wrapper/VectorHashKeyWrapperSingleLong.java (1 line): - line 70: // FIXME: isNull is not updated; which might cause problems common/src/java/org/apache/hive/common/util/ReflectionUtil.java (1 line): - line 42: // TODO: expireAfterAccess locks cache segments on put and expired get. It doesn't look too bad, ql/src/java/org/apache/hadoop/hive/ql/ddl/table/lock/show/ShowLocksOperation.java (1 line): - line 93: // TODO should be doing security check here. Users should not be able to see each other's locks. itests/hive-jmh/src/main/java/org/apache/hive/benchmark/vectorization/mapjoin/load/LegacyVectorMapJoinFastHashTableLoader.java (1 line): - line 128: //TODO : Need to use class instead of string. hcatalog/core/src/main/java/org/apache/hive/hcatalog/mapreduce/ProgressReporter.java (1 line): - line 80: /* TODO: determine the progress. */ llap-server/src/java/org/apache/hadoop/hive/llap/io/metadata/MetadataCache.java (1 line): - line 300: // TODO: SeekableInputStream.readFully eventually calls a Hadoop method that used to be iceberg/iceberg-handler/src/main/java/org/apache/iceberg/mr/hive/actions/HiveIcebergDeleteOrphanFiles.java (1 line): - line 90: // TODO: Implement later, if there is any use case. ql/src/java/org/apache/hadoop/hive/ql/ddl/table/info/show/status/formatter/TextShowTableStatusFormatter.java (1 line): - line 99: // TODO: why is this in text formatter?!! storage-api/src/java/org/apache/hadoop/hive/ql/util/JavaDataModel.java (1 line): - line 269: // TODO: separate model is needed for compressedOops, which can be guessed from memory size. ql/src/java/org/apache/hadoop/hive/ql/optimizer/correlation/ReduceSinkDeDuplication.java (1 line): - line 92: // TODO RS+JOIN ql/src/java/org/apache/hadoop/hive/ql/ddl/table/storage/archive/AlterTableArchiveOperation.java (1 line): - line 287: // TODO: catalog ql/src/java/org/apache/hadoop/hive/ql/exec/vector/mapjoin/fast/VectorMapJoinFastKeyStore.java (1 line): - line 162: // TODO: Check if maximum size compatible with AbsoluteKeyOffset.maxSize. standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/common/ndv/hll/HyperLogLogUtils.java (1 line): - line 208: InputStream is = new ByteArrayInputStream(buf, start, len); // TODO: use faster non-sync inputstream ql/src/java/org/apache/hadoop/hive/ql/ddl/dataconnector/alter/url/AlterDataConnectorSetUrlOperation.java (1 line): - line 51: throw new HiveException(ErrorMsg.INVALID_PATH, newUrl); // TODO make a new error message for URL ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/reloperators/HiveSortLimit.java (1 line): - line 75: // TODO: can we blindly copy sort trait? What if inputs changed and we ql/src/java/org/apache/hadoop/hive/ql/reexec/IReExecutionPlugin.java (1 line): - line 29: * FIXME: rethink methods. ql/src/java/org/apache/hadoop/hive/ql/QueryState.java (1 line): - line 375: // FIXME: druid storage handler relies on query.id to maintain some staging directories standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/dataconnector/jdbc/HiveJDBCConnectorProvider.java (1 line): - line 62: // TODO Hive has support for complex data types but JDBCSerDe only supports primitive types standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/utils/HdfsUtils.java (1 line): - line 60: // TODO: this relies on HDFS not changing the format; we assume if we could get inode ID, this ql/src/java/org/apache/hadoop/hive/ql/parse/AcidExportSemanticAnalyzer.java (1 line): - line 215: // TODO: catalog llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/StatsRecordingThreadPool.java (1 line): - line 125: // FIXME: HIVE-14243 follow to remove this reflection ql/src/java/org/apache/hadoop/hive/ql/util/DateTimeMath.java (1 line): - line 609: * TODO - this is a temporary fix for handling Julian calendar dates. ql/src/java/org/apache/hadoop/hive/ql/plan/MapJoinDesc.java (1 line): - line 67: // TODO: should these rather be arrays? jdbc/src/java/org/apache/hive/jdbc/HiveDriver.java (1 line): - line 79: * TODO: - write a better regex. - decide on uri format iceberg/iceberg-handler/src/main/java/org/apache/iceberg/mr/mapreduce/AbstractIcebergRecordReader.java (1 line): - line 136: // TODO: We could give a more accurate progress based on records read from the file. Context.getProgress does not accumulo-handler/src/java/org/apache/hadoop/hive/accumulo/columns/ColumnMapper.java (1 line): - line 141: // TODO can we be more precise than string,string? hbase-handler/src/java/org/apache/hadoop/hive/hbase/HBaseSplit.java (1 line): - line 56: * TODO: use TableSnapshotRegionSplit HBASE-11555 is fixed. ql/src/java/org/apache/hadoop/hive/ql/parse/type/JoinCondTypeCheckProcFactory.java (1 line): - line 46: * TODO:
standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/parser/ExpressionTree.java (1 line): - line 472: // TODO: in all likelihood, this won't actually work. Keep it for backward compat. ql/src/java/org/apache/hadoop/hive/ql/txn/compactor/service/AcidCompactionService.java (1 line): - line 293: //TODO: For now, we are allowing rebalance compaction regardless of the table state. Thresholds will be added later. ql/src/java/org/apache/hadoop/hive/ql/processors/ShowProcessListProcessor.java (1 line): - line 78: // TODO : Authorization? hcatalog/webhcat/java-client/src/main/java/org/apache/hive/hcatalog/api/repl/commands/ExportCommand.java (1 line): - line 67: sb.append(tableName); // TODO: Handle quoted tablenames service/src/java/org/apache/hive/service/cli/thrift/ThriftCLIService.java (1 line): - line 432: // TODO: We don't do anything for now, just log this for debugging. ql/src/java/org/apache/hadoop/hive/ql/exec/GroupByOperator.java (1 line): - line 875: // TODO: there is no easy and reliable way to compute the memory used by the executor threads and on-heap cache. iceberg/iceberg-handler/src/main/java/org/apache/iceberg/mr/hive/HiveIcebergSerDe.java (1 line): - line 148: // TODO: remove once we have both Fanout and ClusteredWriter available: HIVE-25948 ql/src/java/org/apache/hadoop/hive/ql/exec/vector/mapjoin/VectorMapJoinInnerBigOnlyGenerateResultOperator.java (1 line): - line 247: // TODO: Look at repeating optimizations... ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HivePreFilteringRule.java (1 line): - line 135: // TODO: Make expr traversal recursive. Extend to traverse inside hbase-handler/src/java/org/apache/hadoop/hive/hbase/HiveHBaseTableSnapshotInputFormat.java (1 line): - line 49: // TODO: Once HBASE-11163 is completed, use that API, or switch to ql/src/java/org/apache/hadoop/hive/ql/parse/type/RexNodeExprFactory.java (1 line): - line 284: // TODO: The best solution is to support NaN in expression reduction. ql/src/java/org/apache/hadoop/hive/ql/parse/EximUtil.java (1 line): - line 541: // TODO : isn't there a prior impl of an isDirectory utility PathFilter so users don't have to write their own? druid-handler/src/java/org/apache/hadoop/hive/druid/serde/DruidSerDe.java (1 line): - line 447: //@TODO The best way to fix this is to add explicit output Druid types to Calcite Extraction Functions impls standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/common/StatsSetupConst.java (1 line): - line 353: // TODO: should this also check that the basic flag is valid? ql/src/java/org/apache/hadoop/hive/ql/parse/type/JoinTypeCheckCtx.java (1 line): - line 47: * TODO:
ql/src/java/org/apache/hadoop/hive/ql/optimizer/signature/OpTreeSignatureFactory.java (1 line): - line 46: // FIXME: possible alternative: move both OpSignature/OpTreeSignature into standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/txn/jdbc/functions/OnRenameFunction.java (1 line): - line 148: //TODO: this seems to be very hacky, and as a result retry attempts won't happen, because DataAccessExceptions are llap-common/src/java/org/apache/hadoop/hive/llap/LlapUtil.java (1 line): - line 203: // TODO: Ideally, AcidUtils class and various constants should be in common. ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveAggregateReduceFunctionsRule.java (1 line): - line 64: * TODO: When CALCITE-2216 is completed, we should be able to remove much of this code and ql/src/java/org/apache/hadoop/hive/ql/parse/GenTezUtils.java (1 line): - line 266: // TODO: some operators like VectorPTFEvaluator do not allow the use of Selected take this into account here? hcatalog/core/src/main/java/org/apache/hive/hcatalog/mapreduce/InternalUtil.java (1 line): - line 142: //TODO this has to find a better home, it's also hardcoded as default in hive would be nice ql/src/java/org/apache/hadoop/hive/ql/exec/persistence/HashMapWrapper.java (1 line): - line 152: // TODO: Key and Values are Object[] which can be eagerly deserialized or lazily deserialized. To accurately standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/columnstats/aggr/DecimalColumnStatsAggregator.java (1 line): - line 154: // TODO: bail out if missing stats are over a certain threshold ql/src/java/org/apache/hadoop/hive/ql/txn/compactor/CompactorThread.java (1 line): - line 63: // TODO MS-SPLIT for now, keep a copy of HiveConf around as we need to call other methods with standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/columnstats/aggr/TimestampColumnStatsAggregator.java (1 line): - line 151: // TODO: bail out if missing stats are over a certain threshold ql/src/java/org/apache/hadoop/hive/ql/io/orc/LocalCache.java (1 line): - line 94: // TODO: should local cache also be by fileId? Preserve the original logic for now. ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveFilterSortPredicates.java (1 line): - line 260: // TODO: Add more functions/improve the heuristic after running additional experiments. llap-common/src/java/org/apache/hadoop/hive/llap/security/LlapSignerImpl.java (1 line): - line 37: // TODO: create this centrally in HS2 case ql/src/java/org/apache/hadoop/hive/ql/io/orc/OrcRawRecordMerger.java (1 line): - line 254: // TODO use stripe statistics to jump over stripes ql/src/java/org/apache/hadoop/hive/ql/ddl/dataconnector/create/CreateDataConnectorOperation.java (1 line): - line 48: throw new HiveException(ErrorMsg.INVALID_PATH, desc.getURL()); // TODO make a new error message for URL ql/src/java/org/apache/hadoop/hive/ql/exec/Task.java (1 line): - line 226: * This method is overridden in each Task. TODO execute should return a TaskHandle. llap-common/src/java/org/apache/hadoop/hive/llap/impl/LlapProtocolClientImpl.java (1 line): - line 47: // TODO Change all this to be based on a regular interface instead of relying on the Proto service - Exception signatures cannot be controlled without this for the moment. ql/src/java/org/apache/hadoop/hive/ql/exec/vector/wrapper/VectorHashKeyWrapperBase.java (1 line): - line 104: // FIXME: isNull is not updated; which might cause problems ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/translator/opconventer/HiveFilterVisitor.java (1 line): - line 40: * TODO: 1) isSamplingPred 2) sampleDesc 3) isSortedFilter. ql/src/java/org/apache/hadoop/hive/ql/ddl/view/drop/DropViewOperation.java (1 line): - line 54: // TODO: API w/catalog name ql/src/java/org/apache/hadoop/hive/ql/exec/FunctionRegistry.java (1 line): - line 514: // TODO: According to vgarg, these function mappings are no longer necessary as the default value logic has changed. ql/src/java/org/apache/hadoop/hive/ql/exec/ExportTask.java (1 line): - line 64: // TODO: Modify Thrift IDL to generate export stage if needed ql/src/java/org/apache/hadoop/hive/ql/parse/GenTezWork.java (1 line): - line 453: // TODO: do we also need to remove the MapJoin from the list of RS's children? hcatalog/core/src/main/java/org/apache/hive/hcatalog/mapreduce/HCatBaseInputFormat.java (1 line): - line 67: // TODO needs to go in InitializeInput? as part of InputJobInfo ql/src/java/org/apache/hadoop/hive/ql/plan/mapper/PlanMapper.java (1 line): - line 277: // FIXME: use a different exception type? ql/src/java/org/apache/hadoop/hive/ql/parse/repl/load/MetadataJson.java (1 line): - line 91: // TODO : jackson-streaming-iterable-redo this ql/src/java/org/apache/hadoop/hive/ql/exec/vector/ptf/VectorPTFGroupBatches.java (1 line): - line 600: // TODO: optimize on bytes, or remove string based windows at all, as it's not supported by llap-server/src/java/org/apache/hadoop/hive/llap/daemon/KilledTaskHandler.java (1 line): - line 24: // TODO Ideally, this should only need to send in the TaskAttemptId. Everything else should be standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/DirectSqlUpdatePart.java (1 line): - line 1276: // TODO: followed the jdo implement now, but it should be an error in such case: ql/src/java/org/apache/hadoop/hive/ql/metadata/SessionHiveMetaStoreClient.java (1 line): - line 180: // TODO CAT - I think the right thing here is to always put temp tables in the current llap-server/src/java/org/apache/hadoop/hive/llap/io/decode/GenericColumnVectorProducer.java (1 line): - line 100: // TODO: add tracing to serde reader ql/src/java/org/apache/hadoop/hive/ql/exec/tez/WmTezSession.java (1 line): - line 101: // TODO: replace with withTimeout after we get the relevant guava upgrade. standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/model/MDatabase.java (1 line): - line 178: // TODO : Some extra validation can also be added as this is a user provided parameter. ql/src/java/org/apache/hadoop/hive/ql/exec/vector/mapjoin/VectorMapJoinAntiJoinStringOperator.java (1 line): - line 40: // TODO : Duplicate codes need to merge with semi join. ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/jdbc/JDBCAggregationPushDownRule.java (1 line): - line 57: // TODO: Grouping sets not supported yet ql/src/java/org/apache/hadoop/hive/ql/io/parquet/ParquetRecordReaderBase.java (1 line): - line 108: // TODO enable MetadataFilter by using readFooter(Configuration configuration, Path file, service/src/java/org/apache/hive/service/cli/EmbeddedCLIServiceClient.java (1 line): - line 37: // TODO: this doesn't appear to be used anywhere. ql/src/java/org/apache/hadoop/hive/ql/ddl/table/storage/archive/AlterTableUnarchiveOperation.java (1 line): - line 261: // TODO: use getDb().alterPartition with catalog name standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/events/InsertEvent.java (1 line): - line 66: // TODO MS-SPLIT Switch this back once HiveMetaStoreClient is moved. ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/HiveTypeSystemImpl.java (1 line): - line 28: // TODO: This should come from type system; Currently there is no definition ql/src/java/org/apache/hadoop/hive/ql/ddl/table/misc/columnstats/AlterTableUpdateColumnStatistictAnalyzer.java (1 line): - line 60: // TODO: doesn't look like this path is actually ever exercised. Maybe this needs to be removed. itests/util/src/main/java/org/apache/hadoop/hive/cli/control/CoreBeeLineDriver.java (1 line): - line 111: // TODO: HIVE-28031: Adapt some cli driver tests to Tez where it's applicable service/src/java/org/apache/hive/service/cli/OperationType.java (1 line): - line 47: // TODO: replace this with a Map? service/src/java/org/apache/hive/service/auth/saml/HiveSamlRelayStateStore.java (1 line): - line 46: //TODO make this configurable standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/columnstats/aggr/StringColumnStatsAggregator.java (1 line): - line 123: // TODO: bail out if missing stats are over a certain threshold iceberg/iceberg-handler/src/main/java/org/apache/iceberg/data/PartitionStatsHandler.java (1 line): - line 55: // TODO: remove class once Iceberg PR #11216 is merged and released ql/src/java/org/apache/hadoop/hive/ql/plan/CommonMergeJoinDesc.java (1 line): - line 42: //TODO : https://issues.apache.org/jira/browse/HIVE-25042 ql/src/java/org/apache/hadoop/hive/ql/optimizer/ReduceSinkMapJoinProc.java (1 line): - line 101: // TODO: use indexOf(), or parentRS.getTag()? hcatalog/webhcat/java-client/src/main/java/org/apache/hive/hcatalog/api/repl/commands/ImportCommand.java (1 line): - line 73: sb.append(tableName); // TODO: Handle quoted tablenames ql/src/java/org/apache/hadoop/hive/ql/exec/vector/VectorizedRowBatchCtx.java (1 line): - line 270: // TODO: this is invalid for SMB. Keep this for now for legacy reasons. See the other overload. ql/src/java/org/apache/hadoop/hive/ql/ddl/view/materialized/drop/DropMaterializedViewOperation.java (1 line): - line 55: // TODO: API w/catalog name iceberg/patched-iceberg-core/src/main/java/org/apache/iceberg/PartitionStats.java (1 line): - line 24: // TODO: remove class once upgraded to Iceberg v1.7.0 standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/messaging/MessageBuilder.java (1 line): - line 444: * TODO: Some thoughts here : We have a current todo to move some of these methods over to ql/src/java/org/apache/hadoop/hive/ql/lib/DefaultGraphWalker.java (1 line): - line 124: // TODO: rewriting the logic of those walkers to use opQueue hcatalog/hcatalog-pig-adapter/src/main/java/org/apache/hive/hcatalog/pig/HCatBaseLoader.java (1 line): - line 65: // TODO : we were discussing an iter interface, and also a LazyTuple standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/txn/TxnUtils.java (1 line): - line 557: // TODO not sure this is the right exception packaging/src/main/assembly/bin.xml (1 line): - line 94: