oak-lucene/src/main/java/org/apache/lucene/codecs/BlockTreeTermsReader.java (20 lines): - line 509: // TODO: maybe push this into Terms? - line 594: // TODO: can we share this with the frame in STE? - line 776: // TODO: maybe add scanToLabel; should give perf boost - line 823: // TODO: better API would be "jump straight to term=N"??? - line 826: // TODO: we could make "tiers" of metadata, ie, - line 832: // TODO: if docFreq were bulk decoded we could - line 857: // TODO: in some cases we can filter by length? eg - line 880: // TODO: if the automaton is "smallish" we really - line 965: // TODO: we could be more efficient for the next() - line 1214: // TODO: maybe we should do the same linear test - line 1591: // TODO: reverse vLong byte order for better FST - line 2411: // TODO: if suffixes were stored in random-access - line 2447: // TODO: we could skip this if !hasTerms; but - line 2506: // TODO: skip this if !hasTerms? Then postings - line 2567: // TODO: make this array'd so we can do bin search? - line 2646: // TODO: better API would be "jump straight to term=N"??? - line 2649: // TODO: we could make "tiers" of metadata, ie, - line 2655: // TODO: if docFreq were bulk decoded we could - line 2851: // TODO: not consistent that in the - line 2984: // TODO: not consistent that in the oak-lucene/src/main/java/org/apache/lucene/util/fst/FST.java (17 lines): - line 57: // TODO: break this into WritableFST and ReadOnlyFST.. then - line 62: // TODO: if FST is pure prefix trie we can do a more compact - line 90: // TODO: we can free up a bit if we can nuke this: - line 276: // TODO: we could be smarter here, and prune periodically - line 528: // TODO: really we should encode this as an arc, arriving - line 689: // TODO: for better perf (but more RAM used) we - line 749: // TODO: try to avoid wasteful cases: disable doFixedArray in that case - line 777: // TODO: clean this up: or just rewind+reuse and deal with it - line 1071: // TODO: can't assert this because we call from readFirstArc - line 1109: // TODO: would be nice to make this lazy -- maybe - line 1151: // TODO: could we somehow [partially] tableize arc lookups - line 1238: // TODO: we should fix this code to not have to create - line 1357: // TODO: must assert this FST was built with - line 1362: // TODO: use bitset to not revisit nodes already - line 1426: // TODO: instead of new Arc() we can re-use from - line 1495: // TODO: other things to try - line 1519: // TODO: we could use more RAM efficient selection algo here... oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/session/NodeImpl.java (14 lines): - line 108: * TODO document - line 403: // TODO: type - line 589: size = node.getChildCount(NODE_ITERATOR_MAX_SIZE); // TODO: perform() - line 619: // TODO: use Oak names - line 639: // TODO: use Oak names - line 700: // TODO: use Oak names - line 720: // TODO: use Oak names - line 742: // TODO: avoid nested calls - line 771: // TODO: avoid nested calls - line 783: // TODO: name mapping for path identifiers - line 806: Iterable propertyOakPaths = idManager.getReferences(weak, node.getTree(), name); // TODO: oak name? - line 1284: // TODO: avoid nested calls - line 1377: // TODO: figure out the right place for this check - line 1382: // TODO: END oak-search-elastic/src/main/java/org/apache/jackrabbit/oak/plugins/index/elastic/query/ElasticRequestHandler.java (12 lines): - line 180: // TODO : See if we might want to support like Text here (passed as null in - line 386: * TODO : Docs for writing a native mlt query with the various parameters that - line 415: // include the input doc to align the Lucene behaviour TODO: add configuration - line 442: // TODO : Read this from a stopwords text file, configured via index defn maybe - line 527: // TODO: see OAK-2434 and see if ES also can't work without unwrapping - line 566: // TODO: we include dynamic boosted values in the full-text query if there is at least one dynamic property with useInFullTextQuery set to true - line 603: // TODO: evaluate if/how to handle multiple queries - line 642: // TODO: make it configurable - line 757: // TODO Revisit reference constraint. For performant impl - line 830: // TODO OAK-2198 Add proper nodeType query support - line 893: // TODO: this seems very bad as a query - do we really want to support it. In - line 1021: // TODO Confirm that all other types can be treated as string oak-lucene/src/main/java/org/apache/lucene/codecs/BlockTreeTermsWriter.java (10 lines): - line 54: TODO: - line 161: * - line 420: // TODO: try writing the leading vLong in MSB order - line 482: // TODO: maybe we could add bulk-add method to - line 597: // TODO: we could store min & max suffix start byte - line 616: // TODO: this is wasteful since the builder had - line 707: // TODO: make a better segmenter? It'd have to - line 834: // TODO: cutover to bulk int codec... simple64? - line 926: // TODO: now that terms dict "sees" these longs, - line 972: // TODO: we could block-write the term suffix pointers; oak-lucene/src/main/java/org/apache/lucene/util/fst/Util.java (9 lines): - line 47: // TODO: would be nice not to alloc this on every lookup - line 68: // TODO: maybe a CharsRef version for BYTE2 - line 77: // TODO: would be nice not to alloc this on every lookup - line 112: // TODO: would be nice not to alloc this on every lookup - line 399: // TODO: we could enable FST to sorting arcs by weight - line 403: // TODO: maybe we should make an FST.INPUT_TYPE.BYTE0.5!? - line 484: // TODO: maybe we can save this copyFrom if we - line 884: // TODO maybe this is a useful in the FST class - we could simplify some other code like FSTEnum? - line 947: // TODO: we should fix this code to not have to create oak-lucene/src/main/java/org/apache/lucene/search/MinShouldMatchSumScorer.java (9 lines): - line 178: // TODO instead advance() might be possible, but complicates things - line 186: return; // continue looping TODO consider advance() here - line 200: // find next most costly subScorer within heap TODO can this be done better? - line 208: return; // continue looping TODO consider advance() here - line 214: // TODO: this currently scores, but so did the previous impl - line 215: // TODO: remove recursion. - line 216: // TODO: consider separating scoring out of here, then modify this - line 289: // TODO is cost for advance() different to cost for iteration + heap merge - line 313: // TODO could this implementation also move rather than swapping neighbours? oak-lucene/src/main/java/org/apache/lucene/util/UnicodeUtil.java (8 lines): - line 113: ); // TODO this is unrelated here find a better place for it - line 134: // TODO: broken if incoming result.offset != 0 - line 191: // TODO: broken if incoming result.offset != 0 - line 247: // TODO: broken if incoming result.offset != 0 - line 476: // TODO: broken if incoming result.offset != 0 - line 478: // TODO: ints cannot be null, should be an assert - line 510: // TODO: this may read past utf8's limit. - line 617: // TODO: broken if chars.offset != 0 oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/NodeTypeImpl.java (8 lines): - line 340: } catch (RepositoryException e) { // TODO don't use exceptions for flow control. Use internal method in ReadOnlyNodeTypeManager instead. - line 361: } catch (RepositoryException e) { // TODO don't use exceptions for flow control. Use internal method in ReadOnlyNodeTypeManager instead. - line 369: // FIXME: properly calculate matching definition - line 393: // FIXME: properly calculate matching definition - line 471: // FIXME: should properly calculate matching definition taking residual definitions into account. - line 507: // TODO distinguish between additive and overriding node definitions. See 3.7.6.8 Item Definitions in Subtypes - line 517: // TODO distinguish between additive and overriding property definitions. See 3.7.6.8 Item Definitions in Subtypes - line 698: // TODO need a better way to handle SNS oak-lucene/src/main/java/org/apache/lucene/codecs/lucene3x/Lucene3xFields.java (8 lines): - line 383: // TODO: more efficient seek? - line 438: // TODO: more efficient seek? can we simply swap - line 530: // TODO: can we avoid this copy? - line 615: // TODO: more efficient seek? - line 664: // TODO: more efficient seek? - line 759: // TODO: maybe we can handle this like the next() - line 788: // TODO: faster seek? - line 874: // TODO: can we use STE's prevBuffer here? oak-lucene/src/main/java/org/apache/lucene/search/FieldComparator.java (7 lines): - line 441: // TODO: are there sneaky non-branch ways to compute sign of float? - line 596: // TODO: there are sneaky non-branch ways to compute - line 613: // TODO: there are sneaky non-branch ways to compute - line 718: // TODO: there are sneaky non-branch ways to compute - line 903: // TODO: can we "map" our docIDs to the current - line 1201: // TODO: should we remove this? who really uses it? - line 1216: // TODO: add missing first/last support here? oak-lucene/src/main/java/org/apache/lucene/util/fst/FSTEnum.java (7 lines): - line 122: // TODO: should we return a status here (SEEK_FOUND / SEEK_NOT_FOUND / - line 130: // TODO: possibly caller could/should provide common - line 265: // TODO: should we return a status here (SEEK_FOUND / SEEK_NOT_FOUND / - line 270: // TODO: possibly caller could/should provide common - line 339: // TODO: if each arc could somehow read the arc just - line 386: // TODO: if each arc could somehow read the arc just - line 430: // TODO: possibly caller could/should provide common oak-lucene/src/main/java/org/apache/lucene/codecs/lucene40/Lucene40PostingsReader.java (7 lines): - line 91: // TODO: hasProx should (somehow!) become codec private, - line 245: // TODO: can we optimize if FLAG_PAYLOADS / FLAG_OFFSETS - line 248: // TODO: refactor - line 327: // TODO: for full enum case (eg segment merging) this - line 671: // TODO specialize DocsAndPosEnum too - line 709: // TODO: for full enum case (eg segment merging) this - line 928: // TODO: for full enum case (eg segment merging) this oak-lucene/src/main/java/org/apache/lucene/index/CheckIndex.java (7 lines): - line 732: // TODO: we should probably return our own stats thing...?! - line 755: // TODO: add a separate test to check this for different reader impls - line 764: // TODO: really the codec should not return a field - line 1264: // TODO: we should go and verify term vectors match, if - line 1585: // TODO: testTermsIndex - line 1601: // TODO: can we make a IS(FIR) that searches just - line 1714: // TODO: these are too anal...? oak-run/src/main/groovy/org/apache/jackrabbit/oak/console/commands/OakHelpCommand.groovy (6 lines): - line 68: fail("No such command: $name") // TODO: i18n - line 72: io.out.println("usage: @|bold ${command.name}|@ $command.usage") // TODO: i18n - line 98: io.out.println('For information about @|green Apache Jackrabbit Oak|@, visit:') // TODO: i18n - line 103: io.out.println('Available commands:') // TODO: i18n - line 114: // TODO: Wrap description if needed - line 123: io.out.println('For help on a specific command type:') // TODO: i18n oak-lucene/src/main/java/org/apache/lucene/search/FieldCache.java (6 lines): - line 229: // TODO: would be far better to directly parse from - line 250: // TODO: would be far better to directly parse from - line 272: // TODO: would be far better to directly parse from - line 295: // TODO: would be far better to directly parse from - line 318: // TODO: would be far better to directly parse from - line 341: // TODO: would be far better to directly parse from oak-lucene/src/main/java/org/apache/lucene/codecs/lucene41/Lucene41PostingsReader.java (6 lines): - line 241: // TODO: specialize to liveDocs vs not - line 455: // TODO: make frq block load lazy/skippable - line 785: // TODO: make frq block load lazy/skippable - line 879: // TODO: in theory we could avoid loading frq block - line 1305: // TODO: make frq block load lazy/skippable - line 1403: // TODO: in theory we could avoid loading frq block oak-lucene/src/main/java/org/apache/lucene/search/FieldCacheImpl.java (6 lines): - line 746: // TODO: use bulk API - line 1203: // TODO: use Uninvert? - line 1230: // TODO: use Uninvert? - line 1287: // TODO: this if DocTermsIndex was already created, we - line 1326: // TODO: would be nice to first check if DocTermsIndex - line 1411: // TODO: this if DocTermsIndex was already created, we oak-lucene/src/main/java/org/apache/lucene/search/BooleanScorer.java (5 lines): - line 154: // TODO: break out bool anyProhibited, int - line 187: // TODO: re-enable this if BQ ever sends us required clauses - line 199: // TODO: re-enable this if BQ ever sends us required clauses - line 210: // TODO: re-enable this if BQ ever sends us required clauses - line 264: // TODO: re-enable this if BQ ever sends us required oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndex.java (5 lines): - line 332: // TODO OAK-828 this breaks node aggregation - line 558: .setEstimatedEntryCount(0) //TODO Fake it to provide constant cost for now - line 577: // TODO if the LowCostLuceneIndexProvider is removed, we should do - line 755: // TODO what to do with escaped tokens? - line 979: // TODO what should be returned in the case there are no tokens? oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/name/NamespaceEditor.java (5 lines): - line 44: * TODO document - line 105: // TODO allow changes if there is no content referencing the mappings - line 113: // FIXME Desired Behavior: if we enable it, there are a few generic - line 115: // TODO allow changes if there is no content referencing the mappings - line 118: // FIXME Best effort backwards compatible: oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/version/VersionManagerImpl.java (5 lines): - line 229: // TODO mind OAK-1370 when implementing this - line 237: // TODO mind OAK-1370 when implementing this - line 243: // TODO mind OAK-1370 when implementing this - line 323: // FIXME: atomic? - line 456: // TODO: further traverse versioned children with some selector (date?) oak-lucene/src/main/java/org/apache/lucene/index/LiveIndexWriterConfig.java (5 lines): - line 54: private volatile int termIndexInterval; // TODO: this should be private to the codec, not settable here - line 121: termIndexInterval = IndexWriterConfig.DEFAULT_TERM_INDEX_INTERVAL; // TODO: this should be private to the codec, not settable here - line 226: public LiveIndexWriterConfig setTermIndexInterval(int interval) { // TODO: this should be private to the codec, not settable here - line 236: public int getTermIndexInterval() { // TODO: this should be private to the codec, not settable here - line 597: sb.append("termIndexInterval=").append(getTermIndexInterval()).append("\n"); // TODO: this should be private to the codec, not settable here oak-lucene/src/main/java/org/apache/lucene/util/PagedBytes.java (5 lines): - line 43: // TODO: refactor this, byteblockpool, fst.bytestore, and any - line 47: // TODO: these are unused? - line 125: // TODO: this really needs to be refactored into fieldcacheimpl - line 198: // TODO: we could also support variable block sizes - line 247: // TODO: this really needs to be refactored into fieldcacheimpl oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LucenePropertyIndex.java (5 lines): - line 301: //TODO Look into usage of field cache for retrieving the path - line 863: //TODO Check about SortField.Type.STRING_VAL - line 1153: //TODO Revisit reference constraint. For performant impl - line 1324: //TODO Confirm that all other types can be treated as string - line 1404: //TODO OAK-2198 Add proper nodeType query support oak-lucene/src/main/java/org/apache/lucene/index/IndexWriter.java (4 lines): - line 1385: // TODO: this is a slow linear search, but, number of - line 2617: // TODO: somehow we should fix this merge so it's - line 3921: // TODO: in the non-pool'd case this is somewhat - line 4270: // TODO: ideally we would freeze merge.info here!! oak-lucene/src/main/java/org/apache/lucene/search/IndexSearcher.java (4 lines): - line 369: // TODO: if we fix type safety of TopFieldDocs we can - line 402: // TODO: if we fix type safety of TopFieldDocs we can - line 428: // TODO: if we fix type safety of TopFieldDocs we can - line 615: // TODO: should we make this oak-lucene/src/main/java/org/apache/lucene/util/automaton/CompiledAutomaton.java (4 lines): - line 76: // TODO: would be nice if these sortedTransitions had "int - line 187: // TODO: use binary search here - line 237: // TODO: should this take startTerm too? This way - line 249: // TODO: this is very likely faster than .intersect, oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/IndexDefinition.java (4 lines): - line 586: //TODO Should this method be abstract? - line 588: return "fulltext";//TODO Should this be FulltextIndexConstants.FUNC_NAME - line 920: //TODO if a rule is defined for nt:base then this map would have entry for each - line 1798: //In case not a proper JCR assume nt:base TODO return null and ignore indexing such nodes oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/spi/query/FulltextIndexPlanner.java (4 lines): - line 360: //TODO Support for property existence queries - line 956: //TODO Should we return order entries only when all order clauses are satisfied - line 965: //TODO May be better if filter.getSuperTypes returned a list which maintains - line 981: //TODO Need a way to check if nodetype reg as seen by IndexDefinition is old then oak-search-elastic/src/main/java/org/apache/jackrabbit/oak/plugins/index/elastic/index/ElasticDocumentMaker.java (4 lines): - line 73: // TODO: needed only for oak-lucene. Should be removed from oak-search - line 81: // TODO: check the conjecture below - line 273: // TODO : not implemented - line 278: // TODO : not implemented oak-lucene/src/main/java/org/apache/lucene/search/spans/NearSpansUnordered.java (4 lines): - line 129: // TODO: Remove warning after API has been finalized - line 135: // TODO: Remove warning after API has been finalized - line 253: // TODO: Remove warning after API has been finalized - line 270: // TODO: Remove warning after API has been finalized oak-core/src/main/java/org/apache/jackrabbit/oak/core/ContentRepositoryImpl.java (4 lines): - line 163: // TODO: support multiple workspaces. See OAK-118 - line 248: // TODO OAK-118 - line 254: // TODO OAK-827 - line 256: // TODO OAK-1403 oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/importer/IndexImporter.java (4 lines): - line 143: //TODO Need to review it for idempotent design. A failure in any step should not - line 260: //TODO How to support CompositeNodeStore where some of the child nodes would be hidden - line 278: continue; //TODO Handle sync indexes - line 291: //TODO Support case where checkpoint got lost or complete reindexing is done oak-lucene/src/main/java/org/apache/lucene/codecs/DocValuesConsumer.java (4 lines): - line 375: // TODO make a mutable number - line 511: // TODO make a mutable number - line 581: // TODO make a mutable number - line 634: // TODO: seek-by-ord to nextSetBit oak-lucene/src/main/java/org/apache/lucene/index/DocumentsWriter.java (4 lines): - line 122: // TODO: cut over to BytesRefHash in BufferedDeletes - line 152: // TODO why is this synchronized? - line 159: // TODO: we could check w/ FreqProxTermsWriter: if the - line 163: // TODO why is this synchronized? oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/EffectiveType.java (4 lines): - line 142: // TODO: unnecessary if the OAK-713 fallback wasn't needed below - line 150: // TODO: Fall back to residual definitions until we have consensus on OAK-713 - line 199: // TODO: unnecessary if the OAK-713 fallback wasn't needed below - line 207: // TODO: Fall back to residual definitions until we have consensus on OAK-713 oak-lucene/src/main/java/org/apache/lucene/codecs/lucene40/Lucene40TermVectorsReader.java (4 lines): - line 257: // TODO: we can improve writer here, eg write 0 into - line 373: // TODO: really indexer hardwires - line 511: // TODO: we could maybe reuse last array, if we can - line 751: // TODO: we can improve writer here, eg write 0 into oak-lucene/src/main/java/org/apache/lucene/index/FreqProxTermsWriterPerField.java (4 lines): - line 43: // TODO: break into separate freq and prox writers as - line 406: // TODO: really TermsHashPerField should take over most - line 485: // Mark it deleted. TODO: we could also skip - line 489: // TODO: can we do this reach-around in a cleaner way???? oak-lucene/src/main/java/org/apache/lucene/index/BufferedUpdatesStream.java (4 lines): - line 64: // TODO: maybe linked list? - line 464: // TODO: we can process the updates per DV field, from last to first so that - line 483: // TODO: we traverse the terms in update order (not term order) so that we - line 583: // TODO: we re-use term now in our merged iterable, but we shouldn't clone, instead copy for this assert oak-lucene/src/main/java/org/apache/lucene/codecs/lucene41/Lucene41PostingsWriter.java (4 lines): - line 129: // TODO: does this ctor even make sense? - line 187: // TODO: should we try skipping every 2/4 blocks...? - line 419: // TODO: wasteful we are counting this (counting # docs - line 474: // TODO: should we send offsets/payloads to oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/delegate/NodeDelegate.java (4 lines): - line 412: // FIXME: add mixins to add again as the removal may change the effect of type inheritance as evaluated during #addMixin - line 709: // FIXME: access to locking status should not depend on access rights (OAK-4234) - line 742: // FIXME: access to locking status should not depend on access rights (OAK-4234) - line 870: @NotNull // FIXME this should be package private. OAK-672 oak-lucene/src/main/java/org/apache/lucene/index/FieldInfos.java (4 lines): - line 142: // TODO: what happens if in fact a different order is used? - line 164: // TODO: fix this negative behavior, this was something related to Lucene3x? - line 179: // TODO: we should similarly catch an attempt to turn - line 288: // TODO: really, indexer shouldn't even call this oak-lucene/src/main/java/org/apache/lucene/index/DocumentsWriterPerThread.java (3 lines): - line 553: // TODO: ideally we would freeze newSegment here!! - line 566: // TODO: we should prune the segment if it's 100% - line 569: // TODO: in the NRT case it'd be better to hand oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexEditorProvider.java (3 lines): - line 190: //TODO Revisit use of warn level once all such cases are analyzed - line 195: //TODO Also check if index has been done once - line 228: //TODO [hybrid] This would cause issue with Facets as for faceted fields oak-run-elastic/src/main/java/org/apache/jackrabbit/oak/index/ElasticIndexCommand.java (3 lines): - line 134: // TODO : See if we need to support dumpIndexStats and index defs for elastic - not needed for now - line 149: // TODO : See if pre text extraction is needed for elastic - line 279: //TODO Do not clean if restarting oak-lucene/src/main/java/org/apache/lucene/index/DocInverterPerField.java (3 lines): - line 83: // TODO FI: this should be "genericized" to querying - line 95: // TODO: after we fix analyzers, also check if termVectorOffsets will be indexed. - line 194: // TODO: maybe add some safety? then again, its already checked oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/session/PropertyImpl.java (3 lines): - line 54: * TODO document - line 319: // TODO: avoid nested calls - line 373: // TODO: avoid nested calls oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/query/FilterQueryParser.java (3 lines): - line 203: // TODO : need to check if this works for all field types (most likely not!) - line 207: // TODO : the current parameter substitution is not expected to work well - line 386: // TODO : handle inclusion / exclusion of bounds oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/observation/ChangeProcessor.java (3 lines): - line 283: //TODO If FilterProvider gets changed later then MBean would need to be - line 495: // FIXME don't rely on toString for session id - line 672: // FIXME don't rely on toString for session id oak-lucene/src/main/java/org/apache/lucene/index/SortedSetDocValuesTermsEnum.java (3 lines): - line 53: // TODO: is there a cleaner way? - line 64: // TODO: hmm can we avoid this "extra" lookup?: - line 76: // TODO: is there a cleaner way? oak-lucene/src/main/java/org/apache/lucene/codecs/lucene3x/Lucene3xTermVectorsReader.java (3 lines): - line 105: // TODO: if we are worried, maybe we could eliminate the - line 236: // TODO: we can improve writer here, eg write 0 into - line 711: // TODO: we can improve writer here, eg write 0 into oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/observation/ObservationManagerImpl.java (3 lines): - line 161: // TODO sharing the namePathMapper across different thread might lead to lock contention. - line 193: // FIXME Add support for FilterProvider in ListenerTracker - line 324: // FIXME support multiple path in ListenerTracker oak-lucene/src/main/java/org/apache/lucene/codecs/lucene45/Lucene45DocValuesProducer.java (3 lines): - line 757: // TODO: maxLength is negative when all terms are merged away... - line 759: private final BytesRef term = new BytesRef(); // TODO: paranoia? - line 851: // TODO: is there a cleaner way oak-lucene/src/main/java/org/apache/lucene/search/DisjunctionSumScorer.java (3 lines): - line 67: // TODO: this currently scores, but so did the previous impl - line 68: // TODO: remove recursion. - line 69: // TODO: if we separate scoring, out of here, oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/EquiJoinConditionImpl.java (3 lines): - line 91: // TODO what is the expected result of an equi join for multi-valued properties? - line 119: // TODO support join on multi-valued properties - line 141: // TODO support join on multi-valued properties oak-lucene/src/main/java/org/apache/lucene/codecs/lucene42/Lucene42DocValuesProducer.java (3 lines): - line 537: // TODO: add SeekStatus to FSTEnum like in https://issues.apache.org/jira/browse/LUCENE-3729 - line 556: // TODO: would be better to make this simpler and faster. - line 565: // TODO: we could do this lazily, better to try to push into FSTEnum though? oak-lucene/src/main/java/org/apache/lucene/search/spans/SpanPositionCheckQuery.java (3 lines): - line 174: // TODO: Remove warning after API has been finalized - line 182: return result;//TODO: any way to avoid the new construction? - line 184: // TODO: Remove warning after API has been finalized oak-lucene/src/main/java/org/apache/lucene/search/FilteredQuery.java (3 lines): - line 329: // TODO once we have way to figure out if we use RA or LeapFrog we can remove this scorer - line 540: // TODO once we have way to figure out if we use RA or LeapFrog we can remove this scorer - line 558: //TODO once we have a cost API on filters and scorers we should rethink this heuristic oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/property/Multiplexers.java (3 lines): - line 45: // TODO OAK-4645 set default to true once the code is stable - line 78: // TODO should this be collected from the index def? - line 93: // TODO what to do with non-default names that are not covered by oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/TypeEditor.java (3 lines): - line 70: * TODO: check protected properties and the structure they enforce. some of - line 285: // TODO: add any auto-created items that are still missing - line 509: // TODO: this should be done in a pluggable extension oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/name/Namespaces.java (3 lines): - line 229: // TODO: Other prefix rules? - line 259: } else if ("/:[]|*".indexOf(ch) != -1) { // TODO: XMLChar check for unpaired surrogates - line 267: // TODO: Other name rules? oak-core/src/main/java/org/apache/jackrabbit/oak/query/QueryImpl.java (3 lines): - line 218: // passed in setQuery(). TODO: avoid that mutability concern - line 673: // TODO add issue about order by optimization for multiple selectors - line 685: // TODO support joins oak-search-elastic/src/main/java/org/apache/jackrabbit/oak/plugins/index/elastic/index/ElasticBulkProcessorHandler.java (3 lines): - line 292: // TODO: Must wait for all operations for this index to complete - line 334: // TODO: Support real time indexes - line 499: // TODO: this must be thread safe because there may be several callback threads. oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/EffectiveNodeTypeImpl.java (3 lines): - line 78: // TODO: ignore/warning/error? - line 340: // TODO: This may need to be optimized - line 374: // TODO check multivalue handling oak-search-elastic/src/main/java/org/apache/jackrabbit/oak/plugins/index/elastic/index/ElasticIndexHelper.java (3 lines): - line 123: // TODO: evaluate https://www.elastic.co/guide/en/elasticsearch/reference/current/tune-for-search-speed.html#faster-prefix-queries - line 139: // TODO: the mapping below is for features currently not supported. These need to be reviewed - line 178: // TODO: we should pass null to reset the refresh interval to the default value but the following bug prevents it. We need to wait for a fix oak-lucene/src/main/java/org/apache/lucene/util/automaton/SpecialOperations.java (3 lines): - line 86: // TODO: not great that this is recursive... in theory a - line 124: // TODO: this currently requites a determinized machine, - line 223: // TODO: this is a dangerous method ... Automaton could be oak-lucene/src/main/java/org/apache/lucene/index/SortedDocValuesTermsEnum.java (3 lines): - line 53: // TODO: is there a cleaner way? - line 64: // TODO: hmm can we avoid this "extra" lookup?: - line 76: // TODO: is there a cleaner way? oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/session/SessionContext.java (3 lines): - line 287: // TODO: take non-security related importers into account as well (proper configuration) - line 449: // TODO: should this be in SessionImpl? - line 459: node.unlock(); // TODO: use a single commit oak-run/src/main/java/org/apache/jackrabbit/oak/run/FrozenNodeRef.java (3 lines): - line 41: // TODO: we could consider NOT continuing here, as an nt:frozenNode could "in theory" - line 47: // TODO: we could consider NOT continuing here, as the structure of /jcr:system/jcr:versionStorage - line 53: // TODO: we could consider NOT continuing here, as we might opt to store frozenNodes oak-lucene/src/main/java/org/apache/lucene/index/ReadersAndUpdates.java (3 lines): - line 66: // TODO: it's sometimes wasteful that we hold open two - line 212: // TODO: can we somehow use IOUtils here...? problem is - line 306: // TODO (DVU_RENAME) to writeDeletesAndUpdates oak-lucene/src/main/java/org/apache/lucene/search/spans/NearSpansOrdered.java (3 lines): - line 139: // TODO: Remove warning after API has been finalized - line 140: // TODO: Would be nice to be able to lazy load payloads - line 146: // TODO: Remove warning after API has been finalized oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/lock/LockManagerImpl.java (3 lines): - line 78: if (node.holdsLock(false)) { // TODO: check ownership? - line 86: } catch (IllegalArgumentException e) { // TODO: better exception - line 98: // TODO: name mapping? oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/xml/ImporterImpl.java (3 lines): - line 168: // FIXME this passes the session scoped name path mapper also for workspace imports - line 254: //TODO ordering! (what happened to replace?) - line 271: //TODO find better heuristics? oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/write/NodeTypeTemplateImpl.java (3 lines): - line 158: // TODO fail (in validator?) if not orderable but a supertype is orderable - line 162: // TODO fail (in validator?) if a supertype specifies a different primary item - line 170: // TODO fail (in validator?) on invalid item definitions oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStore.java (3 lines): - line 674: //TODO Make stats collection configurable as it add slight overhead - line 1912: // TODO conflict handling - line 2655: // TODO but if the split fails, we create actual garbage that cannot oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/namespace/NamespaceConstants.java (3 lines): - line 27: * TODO document - line 35: // TODO: see http://java.net/jira/browse/JSR_333-50) - line 40: String NAMESPACE_REP = "internal"; // TODO: see OAK-74 oak-lucene/src/main/java/org/apache/lucene/index/SortedSetDocValuesWriter.java (3 lines): - line 135: // TODO: can this same OOM happen in THPF? - line 275: // TODO: make reusable Number - line 306: // TODO: make reusable Number oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/AsyncIndexUpdate.java (2 lines): - line 144: private final long lifetime = DEFAULT_LIFETIME; // TODO: make configurable - line 1600: //TODO Fix this to account for nrt and sync oak-core/src/main/java/org/apache/jackrabbit/oak/query/index/FilterImpl.java (2 lines): - line 112: // TODO support "order by" - line 597: // TODO support fulltext conditions on certain properties oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/session/SessionImpl.java (2 lines): - line 83: * TODO document - line 764: // TODO: add more best-effort checks oak-core/src/main/java/org/apache/jackrabbit/oak/query/xpath/XPathToSQL2Converter.java (2 lines): - line 637: // TODO support "x eq y"? it seems this only matches for single value properties? - line 814: // TODO maybe support jcr:deref oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/secondary/SecondaryStoreCache.java (2 lines): - line 84: //TODO We might need skip the calls if they occur due to SecondaryStoreObserver - line 189: //TODO Possibly can be improved oak-lucene/src/main/java/org/apache/lucene/search/MultiPhraseQuery.java (2 lines): - line 424: // TODO: if ever we allow subclassing of the *PhraseScorer - line 519: // TODO: move this init into positions(): if the search oak-lucene/src/main/java/org/apache/lucene/util/automaton/UTF32ToUTF8.java (2 lines): - line 60: int value; // TODO: change to byte - line 65: // TODO: maybe move to UnicodeUtil? oak-lucene/src/main/java/org/apache/lucene/util/fst/Builder.java (2 lines): - line 36: // TODO: could we somehow stream an FST to disk while we - line 543: // TODO: instead of recording isFinal/output on the oak-lucene/src/main/java/org/apache/lucene/index/DocValuesProcessor.java (2 lines): - line 41: // TODO: somewhat wasteful we also keep a map here; would - line 92: // TODO: catch missing DV fields here? else we have oak-run-commons/src/main/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoDocumentTraverser.java (2 lines): - line 55: //TODO This may lead to reads being routed to secondary depending on MongoURI - line 80: //TODO Review the cache update approach where tracker has to track *all* docs oak-lucene/src/main/java/org/apache/lucene/index/IndexableField.java (2 lines): - line 37: // TODO: how to handle versioning here...? - line 39: // TODO: we need to break out separate StoredField... oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/NodeNameImpl.java (2 lines): - line 86: // TODO reverse namespace remapping? - line 144: // TODO correctly validate JCR names - see JCR 2.0 spec 3.2.4 Naming Restrictions oak-run/src/main/java/org/apache/jackrabbit/oak/index/merge/IndexDefMergerUtils.java (2 lines): - line 232: // TODO when merging, we keep the product index, so two indexes are created. - line 236: // TODO when merging, e.g. lucene-2-custom-1 is created. but oak-lucene/src/main/java/org/apache/lucene/index/DocFieldProcessor.java (2 lines): - line 205: // TODO FI: we need to genericize the "flags" that a - line 249: // sorted order. TODO: we actually only need to oak-lucene/src/main/java/org/apache/lucene/index/SegmentInfo.java (2 lines): - line 49: // TODO: remove these from this class, for now this is the representation - line 216: // TODO: we could append toString of attributes() here? oak-lucene/src/main/java/org/apache/lucene/search/SearcherLifetimeManager.java (2 lines): - line 140: // TODO: we could get by w/ just a "set"; need to have - line 165: // TODO: we don't have to use IR.getVersion to track; oak-lucene/src/main/java/org/apache/lucene/util/RamUsageEstimator.java (2 lines): - line 565: // TODO: No alignments based on field type/ subclass fields alignments? - line 617: * TODO: If this is useful outside this class, make it public - needs some work oak-lucene/src/main/java/org/apache/lucene/search/ControlledRealTimeReopenThread.java (2 lines): - line 207: // TODO: maybe use private thread ticktock timer, in - line 214: // TODO: try to guestimate how long reopen might oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/ExternalObserverBuilder.java (2 lines): - line 81: //TODO Have a variant of BackgroundObserver which drops elements from the tail - line 100: //TODO Optimize for the case where new async index update is detected. Then oak-lucene/src/main/java/org/apache/lucene/util/fst/Outputs.java (2 lines): - line 46: // TODO: maybe change this API to allow for re-use of the - line 88: // TODO: maybe make valid(T output) public...? for asserts oak-lucene/src/main/java/org/apache/lucene/codecs/perfield/PerFieldPostingsFormat.java (2 lines): - line 151: // TODO: we should only provide the "slice" of FIS - line 174: // TODO: support embedding; I think it should work but oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/session/WorkspaceImpl.java (2 lines): - line 61: * TODO document - line 256: // FIXME: adjust implementation once OAK-118 is being addressed. oak-lucene/src/main/java/org/apache/lucene/index/SegmentReader.java (2 lines): - line 94: // TODO: why is this public? - line 97: // TODO if the segment uses CFS, we may open the CFS file twice: once for oak-lucene/src/main/java/org/apache/lucene/store/RateLimiter.java (2 lines): - line 63: // TODO: we could also allow eg a sub class to dynamically - line 105: // TODO: this is purely instantaneous rate; maybe we oak-lucene/src/main/java/org/apache/lucene/search/spans/SpanPayloadCheckQuery.java (2 lines): - line 66: //TODO: check the byte arrays are the same - line 122: //TODO: is this right? oak-store-spi/src/main/java/org/apache/jackrabbit/oak/spi/lifecycle/WorkspaceInitializer.java (2 lines): - line 25: * TODO: define if/how runtime configuration changes may affect the workspace content. - line 26: * TODO: review params of initialize() oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/NodeLocalNameImpl.java (2 lines): - line 79: // TODO reverse namespace remapping? - line 85: // TODO LOCALNAME: evaluation of local name might not be correct oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/NotImpl.java (2 lines): - line 106: // TODO convert NOT conditions - line 112: // TODO convert NOT conditions oak-search-elastic/src/main/java/org/apache/jackrabbit/oak/plugins/index/elastic/query/async/ElasticResultRowAsyncIterator.java (2 lines): - line 187: // TODO: we could avoid to register this listener when the client is interested in facets only. It would save space and time - line 197: * TODO: to return the explain output, the scanner gets created and an initial request to Elastic is sent. This could oak-lucene/src/main/java/org/apache/lucene/codecs/lucene41/Lucene41Codec.java (2 lines): - line 66: // TODO: slightly evil - line 90: // TODO: slightly evil oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexNodeManager.java (2 lines): - line 56: // TODO oak-search: should extend LuceneIndexNodeManager - line 233: //TODO This is still required to support Suggester, Spellcheck etc OAK-4643 oak-lucene/src/main/java/org/apache/lucene/search/spans/SpanNearPayloadCheckQuery.java (2 lines): - line 58: //TODO: check the byte arrays are the same - line 120: //TODO: is this right? oak-core-spi/src/main/java/org/apache/jackrabbit/oak/osgi/OsgiWhiteboard.java (2 lines): - line 140: // TODO: Figure out if the old reference instance - line 153: // TODO: Note that the service might still be in use oak-lucene/src/main/java/org/apache/lucene/index/TermVectorsConsumerPerField.java (2 lines): - line 86: // TODO: move this check somewhere else, and impl the other missing ones - line 126: // TODO: only if needed for performance oak-lucene/src/main/java/org/apache/lucene/index/SlowCompositeReaderWrapper.java (2 lines): - line 189: // TODO: this could really be a weak map somewhere else on the coreCacheKey, - line 247: // TODO: as this is a wrapper, should we really close the delegate? oak-lucene/src/main/java/org/apache/lucene/search/similarities/TFIDFSimilarity.java (2 lines): - line 755: // TODO: Validate? - line 764: // TODO: (sorta LUCENE-1907) make non-static class and expose this squaring via a nice method to subclasses? oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/VersionGarbageCollector.java (2 lines): - line 1510: //TODO: beautify once this is in FullGC branch - line 2315: // FIXME: this is incorrect because that method also removes intermediate docs oak-lucene/src/main/java/org/apache/lucene/search/package.html (2 lines): - line 60: - line 500: oak-lucene/src/main/java/org/apache/lucene/util/FieldCacheSanityChecker.java (2 lines): - line 103: * (:TODO: is this a bad idea? are we masking a real problem?) - line 292: // TODO: We don't check closed readers here (as getTopReaderContext oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/secondary/SecondaryStoreCacheService.java (2 lines): - line 132: //TODO Support for exclude is not possible as once a NodeState is loaded from secondary - line 148: //TODO Need to see OSGi dynamics. Its possible that DocumentNodeStore works after the cache oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentBlobReferenceRetriever.java (2 lines): - line 54: // TODO this mode would also add in memory blobId - line 60: // TODO Should not rely on toString. Instead obtain oak-lucene/src/main/java/org/apache/lucene/index/DocTermOrds.java (2 lines): - line 368: // TODO: really should 1) strip off useless suffix, - line 409: // TODO: figure out what array lengths we can round up to w/o actually using more memory oak-lucene/src/main/java/org/apache/lucene/codecs/PostingsWriterBase.java (2 lines): - line 47: // TODO: find a better name; this defines the API that the - line 94: // TODO: better name? oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/JoinImpl.java (2 lines): - line 152: // TODO right outer join: verify whether converting - line 216: // TODO is a join filter needed? oak-lucene/src/main/java/org/apache/lucene/codecs/lucene3x/Lucene3xNormsProducer.java (2 lines): - line 72: // TODO: just a list, and double-close() separate norms files? - line 131: // TODO: change to a real check? see LUCENE-3619 oak-query-spi/src/main/java/org/apache/jackrabbit/oak/spi/query/fulltext/LikePattern.java (2 lines): - line 26: // TODO LIKE: optimize condition to '=' when no patterns are used, or 'between x and x+1' - line 27: // TODO LIKE: what to do for invalid patterns (patterns ending with a backslash) oak-lucene/src/main/java/org/apache/lucene/codecs/lucene45/Lucene45DocValuesConsumer.java (2 lines): - line 110: // TODO: more efficient? - line 218: // TODO: in some cases representing missing with minValue-1 wouldn't take up additional space and so on, oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoBlobStore.java (2 lines): - line 58: * FIXME: -Do we need to create commands for retry etc.? -Not sure if this is - line 287: //TODO The cursor needs to be closed oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/NodeDocument.java (2 lines): - line 105: * TODO: check which value is the best one - line 1735: //TODO: consider refactoring of the getVisibleChanges/collectVisiblePreviousChanges/changesFor oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/query/RowImpl.java (2 lines): - line 81: // TODO row score - line 87: // TODO row score oak-core/src/main/java/org/apache/jackrabbit/oak/query/QueryParser.java (2 lines): - line 22: * TODO: move to o.a.j.o.spi (figure out what to do with the Query class) - line 36: * TODO: Include name mapping information oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/Template.java (2 lines): - line 268: // TODO: Leverage the HAMT data structure for the comparison - line 276: // TODO: can this be optimized? oak-run/src/main/java/org/apache/jackrabbit/oak/index/IndexCommand.java (2 lines): - line 284: //TODO To support restart we need to store this checkpoint somewhere - line 394: //TODO Do not clean if restarting oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/LengthImpl.java (2 lines): - line 74: // TODO namespace remapping? - line 79: // TODO what is the expected result for LENGTH(multiValueProperty)? oak-lucene/src/main/java/org/apache/lucene/search/spans/TermSpans.java (2 lines): - line 116: // TODO: Remove warning after API has been finalized - line 131: // TODO: Remove warning after API has been finalized oak-lucene/src/main/java/org/apache/lucene/index/SegmentCoreReaders.java (2 lines): - line 71: // TODO: make a single thread local w/ a - line 127: // TODO: since we don't write any norms file if there are no norms, oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/IndexUpdate.java (2 lines): - line 232: // TODO : See if the check to skip elastic can be handled in a better way - maybe move isMatchingIndexNode to IndexDefinition ? - line 393: //TODO Implement the estimate oak-lucene/src/main/java/org/apache/lucene/index/MultiDocValues.java (2 lines): - line 327: // TODO: use more efficient packed ints structures? - line 328: // TODO: pull this out? its pretty generic (maps between N ord()-enabled TermsEnums) oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/spi/editor/FulltextDocumentMaker.java (2 lines): - line 433: // TODO : extract more generic SPI for augmentor factory - line 722: //TODO Need to check if it covers all cases oak-run-commons/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/pipelined/PipelinedTransformTask.java (2 lines): - line 196: //TODO Review the cache update approach where tracker has to track *all* docs - line 197: // TODO: should we cache splitDocuments? Maybe this can be moved to after the check for split document oak-lucene/src/main/java/org/apache/lucene/search/spans/SpanNotQuery.java (2 lines): - line 181: // TODO: Remove warning after API has been finalized - line 191: // TODO: Remove warning after API has been finalized oak-run-commons/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/DocumentStoreIndexerBase.java (2 lines): - line 189: //TODO How to ensure we can safely read from secondary - line 553: //TODO OAK-7098 - Taken from IndexUpdate. Refactor to abstract out common logic like this oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/delegate/SessionDelegate.java (2 lines): - line 76: * TODO document - line 403: * TODO: Consolidate with save(). oak-store-spi/src/main/java/org/apache/jackrabbit/oak/spi/state/AbstractNodeState.java (2 lines): - line 138: if (afterChild != beforeChild) { // TODO: fastEquals? - line 362: // TODO inefficient unless there are very few child nodes oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/AstElement.java (2 lines): - line 65: // TODO normalize the path (remove superfluous ".." and "." - line 115: // TODO normalize the path (remove superfluous ".." and "." oak-lucene/src/main/java/org/apache/lucene/index/DocumentsWriterPerThreadPool.java (2 lines): - line 63: // TODO this should really be part of DocumentsWriterFlushControl - line 66: // TODO this should really be part of DocumentsWriterFlushControl oak-lucene/src/main/java/org/apache/lucene/analysis/tokenattributes/OffsetAttributeImpl.java (2 lines): - line 46: // TODO: we could assert that this is set-once, ie, - line 69: // TODO: we could use -1 as default here? Then we can oak-lucene/src/main/java/org/apache/lucene/store/NativeFSLockFactory.java (2 lines): - line 153: * TODO: Java 1.6 tracks system wide locks in a thread safe manner - line 182: // TODO: NoSuchDirectoryException instead? oak-run-commons/src/main/java/org/apache/jackrabbit/oak/fixture/OakFixture.java (2 lines): - line 241: // FIXME: OAK-3389 - line 536: //TODO Persistent cache should be removed in teardown oak-core/src/main/java/org/apache/jackrabbit/oak/query/SimpleExcerptProvider.java (2 lines): - line 109: // TODO instanceof should not be used - line 118: // TODO instanceof should not be used, oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/IndexUtils.java (2 lines): - line 63: * TODO document - line 78: // TODO: use property node type name oak-lucene/src/main/java/org/apache/lucene/codecs/lucene40/Lucene40StoredFieldsWriter.java (2 lines): - line 149: // TODO: maybe a field should serialize itself? - line 304: // TODO: this could be more efficient using oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoDocumentStore.java (2 lines): - line 501: // TODO should not be needed, but it seems - line 1576: // TODO: refactor, see OAK-10650 oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/observation/filter/ACFilter.java (2 lines): - line 105: // TODO: check access to the source path, it might not be accessible - line 111: // TODO: check access to the dest name, it might not be accessible oak-jackrabbit-api/src/main/java/org/apache/jackrabbit/api/security/principal/PrincipalManager.java (2 lines): - line 103: * TODO: define the filter expression.
- line 118: * TODO: define the filter expression.
oak-lucene/src/main/java/org/apache/lucene/codecs/TermVectorsWriter.java (2 lines): - line 131: // TODO: we should probably nuke this and make a more efficient 4.x format - line 223: // count manually! TODO: Maybe enforce that Fields.size() returns something valid? oak-lucene/src/main/java/org/apache/lucene/search/Scorer.java (1 line): - line 54: // TODO can we clean this up? oak-lucene/src/main/java/org/apache/lucene/search/FieldCacheRangeFilter.java (1 line): - line 153: // TODO: bogus that newStringRange doesnt share this code... generics hell oak-http/src/main/java/org/apache/jackrabbit/oak/http/JsonRepresentation.java (1 line): - line 107: // TODO: Type info? oak-lucene/src/main/java/org/apache/lucene/search/spans/Spans.java (1 line): - line 86: // TODO: Remove warning after API has been finalized oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/mount/SimpleMountInfoProvider.java (1 line): - line 44: //TODO add validation of mountpoints oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/node/SegmentFactory.java (1 line): - line 101: // FIXME the collector should allow to stop processing oak-lucene/src/main/java/org/apache/lucene/store/CompoundFileWriter.java (1 line): - line 147: // TODO this code should clean up after itself oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoBlobReferenceIterator.java (1 line): - line 51: // TODO It currently uses the configured read preference. Would that be Ok? oak-lucene/src/main/java/org/apache/lucene/search/DocIdSet.java (1 line): - line 42: // TODO: somehow this class should express the cost of oak-jackrabbit-api/src/main/java/org/apache/jackrabbit/api/observation/JackrabbitEventFilter.java (1 line): - line 83: public class JackrabbitEventFilter { // TODO extends EventFilter once JCR 2.1 is out oak-lucene/src/main/java/org/apache/lucene/util/packed/AbstractAppendingLongBuffer.java (1 line): - line 201: // TODO: this is called per-doc-per-norms/dv-field, can we optimize this? oak-core/src/main/java/org/apache/jackrabbit/oak/core/SecureNodeState.java (1 line): - line 204: // TODO: A further optimization would be to return the raw oak-lucene/src/main/java/org/apache/lucene/codecs/perfield/PerFieldDocValuesFormat.java (1 line): - line 194: // TODO: we should only provide the "slice" of FIS oak-lucene/src/main/java/org/apache/lucene/search/ExactPhraseScorer.java (1 line): - line 232: // TODO: we could fold in chunkStart into offset and oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/LowerCaseImpl.java (1 line): - line 78: // TODO toLowerCase(): document the Turkish locale problem oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/LuceneIndexImporter.java (1 line): - line 54: //TODO The indexFormatVersion would be considered latest. Need to be revisited oak-blob/src/main/java/org/apache/jackrabbit/oak/spi/blob/FileBlobStore.java (1 line): - line 50: // TODO file operations are not secure (return values not checked, no retry,...) oak-run/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/LuceneIndexer.java (1 line): - line 79: //TODO possible optimization for NodeType based filtering oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/nodetype/NodeTypeIndex.java (1 line): - line 55: // TODO don't call getCost for such queries oak-lucene/src/main/java/org/apache/lucene/document/TextField.java (1 line): - line 55: // TODO: add sugar for term vectors...? oak-store-spi/src/main/java/org/apache/jackrabbit/oak/json/JsopDiff.java (1 line): - line 26: * TODO document oak-lucene/src/main/java/org/apache/lucene/search/ConjunctionScorer.java (1 line): - line 113: // TODO: sum into a double and cast to float if we ever send required clauses to BS1 oak-lucene/src/main/java/org/apache/lucene/index/DocInverter.java (1 line): - line 73: // TODO: allow endConsumer.finishDocument to also return oak-run/src/main/java/org/apache/jackrabbit/oak/index/merge/IndexMerge.java (1 line): - line 318: // TODO probably need the ability to configure mounts oak-run-commons/src/main/java/org/apache/jackrabbit/oak/index/OutOfBandIndexerBase.java (1 line): - line 75: //TODO Support for providing custom index definition i.e. where definition is not oak-run-commons/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/NodeStateEntryWriter.java (1 line): - line 42: //TODO Possible optimizations oak-lucene/src/main/java/org/apache/lucene/search/TimeLimitingCollector.java (1 line): - line 272: // TODO: Use System.nanoTime() when Lucene moves to Java SE 5. oak-run-commons/src/main/java/org/apache/jackrabbit/oak/index/IndexerSupport.java (1 line): - line 167: //TODO Do it only for lucene indexes for now oak-lucene/src/main/java/org/apache/lucene/codecs/Codec.java (1 line): - line 135: // TODO: should we use this, or maybe a system property is better? oak-store-spi/src/main/java/org/apache/jackrabbit/oak/plugins/memory/MemoryNodeStore.java (1 line): - line 290: // TODO: rebase(); oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/version/VersionConstants.java (1 line): - line 44: String JCR_ROOT = "jcr:root"; // TODO: possible collisions? oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/LoggingHook.java (1 line): - line 111: final StringBuilder val = new StringBuilder(); // TODO: an output stream would certainly be better oak-pojosr/src/main/java/org/apache/jackrabbit/oak/run/osgi/OakOSGiRepositoryFactory.java (1 line): - line 317: //FIXME Pojo SR currently reads this from system property instead of Framework Property oak-lucene/src/main/java/org/apache/lucene/search/SortField.java (1 line): - line 444: // TODO: should we remove this? who really uses it? oak-examples/webapp/src/main/webapp/remoting/read_batch.jsp (1 line): - line 38: // TODO retrieve url from servlet context oak-core/src/main/java/org/apache/jackrabbit/oak/query/ResultRowImpl.java (1 line): - line 246: // TODO order by: nulls first (it looks like), or oak-search-elastic/src/main/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticIndexDefinition.java (1 line): - line 128: // TODO: we can further improve search relevance by using the actual tags combined with the weights using a function query. oak-core/src/main/java/org/apache/jackrabbit/oak/Oak.java (1 line): - line 700: // FIXME: OAK-810 move to proper workspace initialization oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/writer/IndexWriterUtils.java (1 line): - line 52: // FIXME: Hack needed to make Lucene work in an OSGi environment oak-lucene/src/main/java/org/apache/lucene/index/package.html (1 line): - line 24: oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/property/PropertyIndexCleaner.java (1 line): - line 297: //TODO Configure validator oak-lucene/src/main/java/org/apache/lucene/search/TopDocsCollector.java (1 line): - line 146: // TODO: shouldn't we throw IAE if apps give bad params here so they dont oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/IndexSanityChecker.java (1 line): - line 54: //TODO Add support for checksum based checks oak-lucene/src/main/java/org/apache/lucene/index/SortedDocValuesWriter.java (1 line): - line 102: // TODO: can this same OOM happen in THPF? oak-lucene/src/main/java/org/apache/lucene/util/BytesRef.java (1 line): - line 102: assert offset == 0; // TODO broken if offset != 0 oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/bundlor/PropertyStateWrapper.java (1 line): - line 27: //TODO Move this to org.apache.jackrabbit.oak.plugins.memory oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/CommitDiff.java (1 line): - line 101: //TODO [bundling] Handle change of primaryType. Current approach would work oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/observation/CommitRateLimiter.java (1 line): - line 161: // TODO should not happen (log an error?) oak-examples/webapp/src/main/webapp/about.jsp (1 line): - line 22: * TODO: There should be an easier way to do this! oak-lucene/src/main/java/org/apache/lucene/search/BooleanQuery.java (1 line): - line 347: // TODO: (LUCENE-4872) in some cases BooleanScorer may be faster for minNrShouldMatch oak-lucene/src/main/java/org/apache/lucene/util/BytesRefHash.java (1 line): - line 592: // TODO: can't we just merge this w/ oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/property/PropertyIndexLookup.java (1 line): - line 186: // TODO: prefer the most specific type restriction oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/property/PropertyIndexEditor.java (1 line): - line 144: // TODO: should we reindex when type definitions change? oak-lucene/src/main/java/org/apache/lucene/index/AutomatonTermsEnum.java (1 line): - line 222: // TODO: paranoia? if we backtrack thru an infinite DFA, the loop detection is important! oak-lucene/src/main/java/org/apache/lucene/search/ReqOptSumScorer.java (1 line): - line 80: // TODO: sum into a double and cast to float if we ever send required clauses to BS1 oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/name/NameValidator.java (1 line): - line 38: * TODO document oak-lucene/src/main/java/org/apache/lucene/index/IndexWriterConfig.java (1 line): - line 84: public static final int DEFAULT_TERM_INDEX_INTERVAL = 32; // TODO: this should be private to the codec, not settable here oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/counter/ApproximateCounter.java (1 line): - line 131: // TODO is this the right approach? divide by count_resolution oak-lucene/src/main/java/org/apache/lucene/index/MultiDocsAndPositionsEnum.java (1 line): - line 167: // TODO: implement bulk read more efficiently than super oak-lucene/src/main/java/org/apache/lucene/index/MergeState.java (1 line): - line 162: // TODO: get rid of this? it tells you which segments are 'aligned' (e.g. for bulk merging) oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/FieldFactory.java (1 line): - line 185: //TODO OAK-2204 - Should we change the precision to lower resolution oak-api/src/main/java/org/apache/jackrabbit/oak/api/ContentSession.java (1 line): - line 49: * TODO clarify workspace handling once multiple workspaces are oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/write/ItemDefinitionTemplate.java (1 line): - line 89: // TODO avoid (in validator?) unbounded recursive auto creation. oak-lucene/src/main/java/org/apache/lucene/codecs/lucene41/Lucene41PostingsBaseFormat.java (1 line): - line 42: // TODO: should these also be named / looked up via SPI? oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/constraint/ReferenceConstraint.java (1 line): - line 33: // TODO implement ReferenceConstraint oak-lucene/src/main/java/org/apache/lucene/util/QueryBuilder.java (1 line): - line 138: // TODO: wierd that BQ equals/rewrite/scorer doesn't handle this? oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/bundlor/DocumentBundlor.java (1 line): - line 40: * TODO - Also store the NodeType oak-lucene/src/main/java/org/apache/lucene/search/spans/SpanMultiTermQueryWrapper.java (1 line): - line 184: // TODO: would be nice to not lose term-state here. oak-lucene/src/main/java/org/apache/lucene/codecs/lucene3x/Lucene3xCodec.java (1 line): - line 74: // TODO: this should really be a different impl oak-core-spi/src/main/java/org/apache/jackrabbit/oak/namepath/JcrPathParser.java (1 line): - line 20: * TODO document oak-lucene/src/main/java/org/apache/lucene/search/ConstantScoreQuery.java (1 line): - line 106: // TODO: OK to not add any terms when wrapped a filter oak-search-elastic/src/main/java/org/apache/jackrabbit/oak/plugins/index/elastic/query/ElasticIndexPlanner.java (1 line): - line 76: //TODO Should we return order entries only when all order clauses are satisfied oak-lucene/src/main/java/org/apache/lucene/search/TopFieldCollector.java (1 line): - line 45: // TODO: one optimization we could do is to pre-fill oak-lucene/src/main/java/org/apache/lucene/search/DisjunctionScorer.java (1 line): - line 181: // TODO: make this less horrible oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/GCMemoryBarrier.java (1 line): - line 49: // TODO possibly add a min value to the percentage, ie. skip gc if available oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/IndexInfoServiceImpl.java (1 line): - line 108: return true; //TODO Reconsider this scenario oak-store-spi/src/main/java/org/apache/jackrabbit/oak/spi/state/NodeState.java (1 line): - line 371: * TODO: Define the behavior of this method with regards to oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/SelectorImpl.java (1 line): - line 90: // TODO possibly support using multiple indexes (using index intersection / index merge) oak-lucene/src/main/java/org/apache/lucene/codecs/StoredFieldsWriter.java (1 line): - line 102: // TODO: this could be more efficient using oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/datastore/DataStoreTextWriter.java (1 line): - line 133: //TODO should we compress oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/property/PropertyIndexUtil.java (1 line): - line 30: // TODO the max string length should be removed, or made configurable oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/DefaultDirectoryFactory.java (1 line): - line 112: // TODO: no locking used oak-lucene/src/main/java/org/apache/lucene/index/SegmentMerger.java (1 line): - line 273: // TODO: we may be able to broaden this to oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/version/VersionableState.java (1 line): - line 604: // FIXME: handle child order properly oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/Branch.java (1 line): - line 344: boolean isModified(Path path) { // TODO: rather pass NodeDocument? oak-lucene/src/main/java/org/apache/lucene/search/DocTermOrdsRewriteMethod.java (1 line): - line 167: // TODO: we could track max bit set and early terminate (since they come in sorted order) oak-lucene/src/main/java/org/apache/lucene/util/fst/BytesStore.java (1 line): - line 35: // TODO: merge with PagedBytes, except PagedBytes doesn't oak-run-commons/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/FlatFileStoreIterator.java (1 line): - line 109: //TODO Add some checks on expected ordering oak-core/src/main/java/org/apache/jackrabbit/oak/namepath/impl/NamePathMapperImpl.java (1 line): - line 38: * TODO document oak-lucene/src/main/java/org/apache/lucene/index/MultiFields.java (1 line): - line 201: // TODO: why is this public? oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/ApproximateCounter.java (1 line): - line 133: // TODO is this the right approach? divide by count_resolution oak-lucene/src/main/java/org/apache/lucene/index/IndexFileNames.java (1 line): - line 32: // TODO: put all files under codec and remove all the static extensions here oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/SequentialCreateNodesTest.java (1 line): - line 40: final Session session = loginWriter(); // TODO: anonymous is slow oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/node/MongoFactory.java (1 line): - line 60: // TODO probably we should disable all observers, see OAK-5651 oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/version/ReadWriteVersionManager.java (1 line): - line 369: // TODO: more methods that modify versions oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/ConcurrentReadTest.java (1 line): - line 86: private final Session session = loginWriter(); // TODO: anonymous is slow oak-lucene/src/main/java/org/apache/lucene/util/mutable/MutableValueInt.java (1 line): - line 75: // TODO: if used in HashMap, it already mixes the value... maybe use a straight value? oak-benchmarks-lucene/src/main/java/org/apache/jackrabbit/oak/benchmark/HybridIndexTest.java (1 line): - line 260: //TODO This to avoid issue with Indexing still running post afterSuite call oak-lucene/src/main/java/org/apache/lucene/index/SegmentWriteState.java (1 line): - line 84: public int termIndexInterval; // TODO: this should be private to the codec, not settable here or in IWC oak-lucene/src/main/java/org/apache/lucene/util/BroadWord.java (1 line): - line 84: // FIXME: replace by biggerequal8_one formula from article page 6, line 9. four operators instead of five here. oak-run/src/main/groovy/org/apache/jackrabbit/oak/console/GroovyConsole.groovy (1 line): - line 246: // TODO: See if we want to add any more language specific completions, like for println for example? oak-lucene/src/main/java/org/apache/lucene/index/ThreadAffinityDocumentsWriterThreadPool.java (1 line): - line 61: /* TODO -- another thread could lock the minThreadState we just got while oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/UpperCaseImpl.java (1 line): - line 76: // TODO what is the expected result of UPPER(x) for an array property? oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexDefinition.java (1 line): - line 107: return "lucene";//TODO should this be LuceneIndexConstants.TYPE_LUCENE? oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/StringCache.java (1 line): - line 29: * TODO document oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/LuceneJournalPropertyBuilder.java (1 line): - line 82: //TODO Add support for overflow oak-run-commons/src/main/java/org/apache/jackrabbit/oak/run/cli/OakHelpFormatter.java (1 line): - line 58: //TODO Take care of left over options oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/Commit.java (1 line): - line 637: // TODO: unify above conflict detection and isConflicting() oak-lucene/src/main/java/org/apache/lucene/search/payloads/PayloadNearQuery.java (1 line): - line 225: // TODO change the whole spans api to use bytesRef, or nuke spans oak-lucene/src/main/java/org/apache/lucene/document/StoredField.java (1 line): - line 95: // TODO: not great but maybe not a big problem? oak-lucene/src/main/java/org/apache/lucene/store/SimpleFSLockFactory.java (1 line): - line 131: // TODO: NoSuchDirectoryException instead? oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/osgi/OsgiRepository.java (1 line): - line 50: // TODO: The context class loader hack below shouldn't be needed oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/ExtractedTextCache.java (1 line): - line 326: timeoutCount++; // TODO : use AtomicInteger ? this is a non-atomic operation on a volatile field oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/SolrServerConfiguration.java (1 line): - line 70: return (S) constructor.newInstance(this); // TODO : each SolrServerProvider impl. is forced to have a constructor with a SolrServerConfiguration, fix? oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/OakRepositoryFactory.java (1 line): - line 51: // TODO correctly interpret uri oak-lucene/src/main/java/org/apache/lucene/index/ParallelAtomicReader.java (1 line): - line 110: // TODO: make this read-only in a cleaner way? oak-lucene/src/main/java/org/apache/lucene/index/FrozenBufferedUpdates.java (1 line): - line 90: // TODO if a Term affects multiple fields, we could keep the updates key'd by Term oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/node/JdbcFactory.java (1 line): - line 75: // TODO probably we should disable all observers, see OAK-5651 oak-segment-azure/src/main/java/org/apache/jackrabbit/oak/segment/azure/v8/AzurePersistenceV8.java (1 line): - line 106: // TODO close the connection oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/version/VersionStorage.java (1 line): - line 69: // TODO: this assumes the version store is in the same workspace. oak-lucene/src/main/java/org/apache/lucene/util/packed/MonotonicBlockPackedWriter.java (1 line): - line 81: // TODO: perform a true linear regression? oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/reference/ReferenceIndex.java (1 line): - line 79: // TODO don't call getCost for such queries oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/reference/ReferenceEditor.java (1 line): - line 317: // TODO do we still need to encode the values? oak-run/src/main/java/org/apache/jackrabbit/oak/index/OutOfBandIndexer.java (1 line): - line 35: //TODO Support for providing custom index definition i.e. where definition is not oak-lucene/src/main/java/org/apache/lucene/store/CompoundFileDirectory.java (1 line): - line 178: // TODO remove once 3.x is not supported anymore oak-lucene/src/main/java/org/apache/lucene/codecs/lucene40/Lucene40TermVectorsWriter.java (1 line): - line 54: // TODO: make a new 4.0 TV format that encodes better oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/bundlor/Include.java (1 line): - line 46: //TODO Restrict to * and have * == ** oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/util/Utils.java (1 line): - line 474: // TODO deprecate? oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/CugTest.java (1 line): - line 41: * TODO: setup configured number of cugs. oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/MoveAwarePermissionValidator.java (1 line): - line 75: // TODO improve: avoid calculating the 'before' permissions in case the current parent permissions already point to the correct tree. oak-run/src/main/java/org/apache/jackrabbit/oak/explorer/NodeStoreTree.java (1 line): - line 78: // TODO is sorting by file name needed? oak-lucene/src/main/java/org/apache/lucene/codecs/compressing/CompressingTermVectorsReader.java (1 line): - line 909: // TODO: slightly sheisty oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/OakIndexOutput.java (1 line): - line 69: //TODO: Do we know that copyBytes would always reach us via copy?? oak-lucene/src/main/java/org/apache/lucene/codecs/PostingsBaseFormat.java (1 line): - line 39: // TODO: find a better name; this defines the API that the oak-run-elastic/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/ElasticIndexer.java (1 line): - line 84: //TODO possible optimization for NodeType based filtering oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/write/PropertyDefinitionTemplateImpl.java (1 line): - line 109: Arrays.asList(queryOperators), Type.NAMES); // TODO: mapping? oak-lucene/src/main/java/org/apache/lucene/codecs/BlockTermState.java (1 line): - line 45: // TODO: update BTR to nuke this oak-lucene/src/main/java/org/apache/lucene/index/Terms.java (1 line): - line 65: // TODO: eventually we could support seekCeil/Exact on oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/NRTIndex.java (1 line): - line 341: //TODO Explore following for optimizing indexing speed oak-lucene/src/main/java/org/apache/lucene/index/TermsHashPerField.java (1 line): - line 269: // TODO: optimize oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/SearchTest.java (1 line): - line 152: // TODO verify why "order by jcr:score()" accounts for what looks oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentStoreStats.java (1 line): - line 249: //TODO What more to gather oak-lucene/src/main/java/org/apache/lucene/util/automaton/Automaton.java (1 line): - line 324: // TODO: maybe we can eventually allow for oversizing here... oak-examples/webapp/src/main/webapp/remoting/json.js (1 line): - line 97: // TODO: evaluate and add to display info. oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/bundlor/BundlingConfigHandler.java (1 line): - line 104: //TODO Any sanity checks oak-lucene/src/main/java/org/apache/lucene/search/SloppyPhraseScorer.java (1 line): - line 179: // TODO would be good if we can avoid calling cardinality() in each iteration! oak-lucene/src/main/java/org/apache/lucene/search/TermRangeQuery.java (1 line): - line 133: // TODO: all these toStrings for queries should just output the bytes, it might not be UTF-8! oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/LiteralImpl.java (1 line): - line 56: // TODO namespace remapping? oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/observation/filter/ConstantFilter.java (1 line): - line 26: * TODO document oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/RepositoryUpgrade.java (1 line): - line 508: // TODO: default hooks? oak-run-commons/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/pipelined/PipelinedMongoDownloadTask.java (1 line): - line 200: // TODO: Revise this timeout. It is used to prevent the indexer from blocking forever if the queue is full. oak-lucene/src/main/java/org/apache/lucene/index/SegmentCommitInfo.java (1 line): - line 162: // TODO we could rely on TrackingDir.getCreatedFiles() (like we do for oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/OakIndexInput.java (1 line): - line 53: // TODO : shouldn't we call super#clone ? oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentDiscoveryLiteDescriptors.java (1 line): - line 35: * DocumentDiscoveryLiteService TODO: move this constant to a generic place for both segment and document oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/writer/CommitMitigatingTieredMergePolicy.java (1 line): - line 159: // TODO: should addIndexes do explicit merging, too? And, oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/IndexConsistencyChecker.java (1 line): - line 279: //TODO Check for SuggestionDirectory Pending oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/commit/ConflictValidatorProvider.java (1 line): - line 27: * TODO document oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/migration/AbstractDecoratedNodeState.java (1 line): - line 222: if (!afterChild.equals(beforeChild)) { // TODO: fastEquals? oak-store-spi/src/main/java/org/apache/jackrabbit/oak/plugins/value/OakValue.java (1 line): - line 24: * TODO: document oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/OakFileDataStore.java (1 line): - line 63: //TODO FIXME Temporary workaround for OAK-1666. Override the default oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/JournalEntry.java (1 line): - line 296: // subsequent background reads to do this, provide a (TODO eventually configurable) oak-query-spi/src/main/java/org/apache/jackrabbit/oak/spi/query/QueryConstants.java (1 line): - line 63: // TODO jcr:path isn't an official feature, support it? oak-lucene/src/main/java/org/apache/lucene/util/fst/CharSequenceOutputs.java (1 line): - line 123: // TODO: maybe UTF8? oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/property/PropertyIndexPlan.java (1 line): - line 129: // TODO: avoid repeated scans through the restrictions oak-lucene/src/main/java/org/apache/lucene/index/IndexReader.java (1 line): - line 449: // TODO: we need a separate StoredField, so that the oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/version/ReadWriteVersionManager.java (1 line): - line 253: // TODO: more methods that modify versions oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/FullTextSearchScoreImpl.java (1 line): - line 69: // TODO if score() is not supported by the index, use the value 0.0? oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/IndexRootDirectory.java (1 line): - line 331: //TODO Exclude -_ like chars via [^\W_] oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/observation/filter/ChangeSetFilterImpl.java (1 line): - line 207: //TODO: optimize this later oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/IndexConstants.java (1 line): - line 20: * TODO document oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/PropertyDefinition.java (1 line): - line 165: //TODO Add test case for above cases oak-lucene/src/main/java/org/apache/lucene/index/MultiDocsEnum.java (1 line): - line 157: // TODO: implement bulk read more efficiently than super oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/CugOakTest.java (1 line): - line 44: * TODO: setup configured number of cugs. oak-lucene/src/main/java/org/apache/lucene/util/fst/ForwardBytesReader.java (1 line): - line 28: // TODO: can we use just ByteArrayDataInput...? need to oak-segment-azure/src/main/java/org/apache/jackrabbit/oak/segment/azure/AzurePersistence.java (1 line): - line 112: // TODO close the connection oak-lucene/src/main/java/org/apache/lucene/index/FieldInfo.java (1 line): - line 73: // TODO: maybe rename to just DOCS? oak-store-spi/src/main/java/org/apache/jackrabbit/oak/plugins/memory/ModifiedNodeState.java (1 line): - line 398: } else if (before != after // TODO: fastEquals? oak-lucene/src/main/java/org/apache/lucene/search/FuzzyTermsEnum.java (1 line): - line 73: // TODO: chicken-and-egg oak-lucene/src/main/java/org/apache/lucene/codecs/PostingsReaderBase.java (1 line): - line 48: // TODO: find a better name; this defines the API that the oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/FileCache.java (1 line): - line 148: // TODO: Check persisting the in-memory map and initializing Vs building from fs oak-lucene/src/main/java/org/apache/lucene/index/FreqProxTermsWriter.java (1 line): - line 43: // TODO: would be nice to factor out more of this, eg the oak-lucene/src/main/java/org/apache/lucene/codecs/lucene40/Lucene40PostingsFormat.java (1 line): - line 224: // TODO: this class could be created by wrapping oak-run/src/main/java/org/apache/jackrabbit/oak/plugins/tika/TextExtractor.java (1 line): - line 187: //TODO Handle case where same blob is being concurrently processed oak-core-spi/src/main/java/org/apache/jackrabbit/oak/namepath/NameMapper.java (1 line): - line 28: * TODO document oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneDocumentMaker.java (1 line): - line 284: //TODO Distinguish fields which need to be used for search and for sort oak-core/src/main/java/org/apache/jackrabbit/oak/query/index/TraversingIndex.java (1 line): - line 150: // TODO we need to have better estimates, see also OAK-1898 oak-lucene/src/main/java/org/apache/lucene/util/fst/NodeHash.java (1 line): - line 84: // TODO: maybe if number of arcs is high we can safely subsample? oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/util/FunctionIndexProcessor.java (1 line): - line 198: // TODO LOCALNAME: evaluation of local name might not be correct oak-lucene/src/main/java/org/apache/lucene/codecs/lucene40/Lucene40PostingsBaseFormat.java (1 line): - line 42: // TODO: should these also be named / looked up via SPI? oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/property/PropertyIndex.java (1 line): - line 119: // TODO support indexes on a path oak-lucene/src/main/java/org/apache/lucene/codecs/compressing/CompressingStoredFieldsReader.java (1 line): - line 79: // TODO: should this be a method on DataInput? oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/metric/MetricStatisticsProvider.java (1 line): - line 336: //TODO Should we use getMeanRate oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/cursor/PathCursor.java (1 line): - line 63: // TODO support jcr:score and possibly rep:excerpt oak-lucene/src/main/java/org/apache/lucene/index/NumericFieldUpdates.java (1 line): - line 98: // TODO: if the Sorter interface changes to take long indexes, we can remove that limitation oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/blob/LengthCachingDataStore.java (1 line): - line 87: //TODO For now using an in memory map. For very large repositories oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/CopyOnReadDirectory.java (1 line): - line 247: //TODO In case of exception there would not be any other attempt oak-search-elastic/src/main/java/org/apache/jackrabbit/oak/plugins/index/elastic/index/ElasticDocument.java (1 line): - line 60: // TODO: to support strict mapping, these properties should be part of dynamicProperties oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/NRTIndexFactory.java (1 line): - line 162: //TODO make these configurable oak-lucene/src/main/java/org/apache/lucene/codecs/lucene42/Lucene42NormsConsumer.java (1 line): - line 93: // TODO: more efficient? oak-lucene/src/main/java/org/apache/lucene/document/Field.java (1 line): - line 230: // TODO: allow direct construction of int, long, float, double value too..? oak-lucene/src/main/java/org/apache/lucene/util/IntBlockPool.java (1 line): - line 196: // TODO make the levels and the sizes configurable oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/version/VersionEditor.java (1 line): - line 53: * TODO document oak-lucene/src/main/java/org/apache/lucene/search/CachingCollector.java (1 line): - line 318: // TODO: would be nice if a collector defined a oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/session/ItemImpl.java (1 line): - line 61: * TODO document oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/repository/RepositoryImpl.java (1 line): - line 78: * TODO document oak-lucene/src/main/java/org/apache/lucene/index/DocumentsWriterDeleteQueue.java (1 line): - line 142: tryApplyGlobalSlice(); // TODO doing this each time is not necessary maybe oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/version/ReadOnlyVersionManager.java (1 line): - line 289: // FIXME: may need to revise this, because getVersionStorageTree() oak-lucene/src/main/java/org/apache/lucene/index/TieredMergePolicy.java (1 line): - line 123: // TODO: should addIndexes do explicit merging, too? And, oak-lucene/src/main/java/org/apache/lucene/analysis/TokenStreamToAutomaton.java (1 line): - line 40: // TODO: maybe also toFST? then we can translate atts into FST outputs/weights oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/node/FileStoreUtils.java (1 line): - line 62: // FIXME the consumer should allow to stop processing oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/PropertyDefinitionImpl.java (1 line): - line 93: // TODO: namespace mapping? oak-core/src/main/java/org/apache/jackrabbit/oak/query/SQL2Parser.java (1 line): - line 143: // TODO possibly support union,... as available at oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/SameThreadExecutorService.java (1 line): - line 35: * TODO: Remove this class once the whole Oak is migrated to use Guava 26. oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/LocalIndexObserver.java (1 line): - line 72: //TODO Ensure that log do not flood oak-lucene/src/main/java/org/apache/lucene/search/similarities/SimilarityBase.java (1 line): - line 138: // TODO: add sumDocFreq for field (numberOfFieldPostings) oak-lucene/src/main/java/org/apache/lucene/search/similarities/BM25Similarity.java (1 line): - line 49: // TODO: should we add a delta like sifaka.cs.uiuc.edu/~ylv2/pub/sigir11-bm25l.pdf ? oak-examples/webapp/src/main/java/org/apache/jackrabbit/j2ee/RepositorySecurityProvider.java (1 line): - line 54: //TODO Need to extend it support login for any user with AdminPrincipal oak-store-spi/src/main/java/org/apache/jackrabbit/oak/plugins/value/jcr/BinaryImpl.java (1 line): - line 38: * TODO document oak-lucene/src/main/java/org/apache/lucene/index/NormsConsumer.java (1 line): - line 36: // TODO FI: norms could actually be stored as doc store oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/xml/DocViewImportHandler.java (1 line): - line 266: // TODO proper multi-value serialization support oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/tree/impl/AbstractTree.java (1 line): - line 52: // TODO: make this configurable oak-search-elastic/src/main/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticIndexNode.java (1 line): - line 59: // TODO: does it matter that we simply return 0 as there's no observation based _refresh_ going on here oak-api/src/main/java/org/apache/jackrabbit/oak/api/ContentRepository.java (1 line): - line 50: * TODO clarify workspace handling once multiple workspaces are oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/identifier/IdentifierManager.java (1 line): - line 58: * TODO document oak-lucene/src/main/java/org/apache/lucene/store/RateLimitedIndexOutput.java (1 line): - line 40: // TODO should we make buffer size configurable oak-examples/webapp/src/main/java/org/apache/jackrabbit/j2ee/RepositoryStartupServlet.java (1 line): - line 381: //TODO oak-jcr also provides a dummy RepositoryFactory. Hence this oak-store-spi/src/main/java/org/apache/jackrabbit/oak/spi/commit/BackgroundObserver.java (1 line): - line 266: //TODO - Support for merging ChangeSet for external changes oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/util/DataConversionUtil.java (1 line): - line 37: //TODO OAK-2204 - Should we change the precision to lower resolution oak-run/src/main/java/org/apache/jackrabbit/oak/index/IndexDocumentBuilderCustomizer.java (1 line): - line 85: //TODO Should not be done if later we implement multithreaded indexing