harry-core/src/harry/model/OpSelectors.java (12 lines): - line 95: // TODO: move to DescriptorSelector, makes no sense to split them - line 219: // TODO: why is this one unused? - line 423: // TODO: add weights/probabilities to this - line 424: // TODO: this looks like a hierarchical surjection - line 440: // TODO: change bitsets to take into account _all_ columns not only regulars - line 554: // TODO: this can actually be further improved upon. Maybe not generation-wise, this part seems to be ok, - line 618: // TODO: add a way to limit partition size alltogether; current "number of rows" notion is a bit misleading - line 670: // TODO: this is not the best way to calculate a clustering offset; potentially we'd like to use - line 682: // TODO: this won't work for entropy-adjusted CDs, at least the way they're implemented now - line 701: // TODO: partition size can't be larger than cardinality of the value. - line 732: // TODO: create this bitset once per lts - line 809: // TODO: start using partitionLevelThreshold harry-core/src/harry/operations/Query.java (6 lines): - line 40: // TODO: There are queries without PD - line 60: // TODO: pd, values, filtering? - line 204: // TODO: looks like we don't really need comparator here. - line 417: // TODO: this can actually be improved, since in case of hierarchical clustering generation we can - line 463: // TODO: this isn't considered "normal" that we do it this way, but I'd rather fix it with - line 468: // TODO: one of the ways to get rid of garbage here, and potentially even simplify the code is to harry-core/src/harry/generators/Generators.java (6 lines): - line 30: // TODO: test - line 43: // TODO: test - line 49: // TODO: test - line 62: // TODO: test - line 68: // TODO: test - line 74: // TODO: test harry-core/src/harry/core/Configuration.java (6 lines): - line 207: // TODO: validation - line 232: // TODO: validate that operation kind is compatible with schema, due to statics etc - line 287: CDSelectorConfiguration clustering_descriptor_selector; // TODO: sensible default value - line 776: // TODO: configure fractions/fractional builder - line 1097: // TODO: make query selector configurable - line 1125: // TODO: make query selector configurable harry-core/src/harry/model/sut/injvm/InJvmSutBase.java (5 lines): - line 52: // TODO: shut down properly - line 135: // TODO: find a better way to work around timeouts - line 142: // TODO: Ideally, we need to be able to induce a failure of a single specific message - line 155: // TODO: make dropping deterministic - line 249: // TODO: make this configurable harry-core/src/harry/ddl/SchemaSpec.java (5 lines): - line 30: // TODO: improve API of this class - line 31: // TODO: forbid schemas where pk and cks don't add up to 64 bits (for now) - line 62: // TODO: forbid this constructor; add the one where column specs would be initialized through builder and have indexes - line 211: // TODO: remove indirection; call directly - line 308: // TODO: test for this harry-core/src/harry/operations/QueryGenerator.java (4 lines): - line 30: // TODO: there's a lot of potential to reduce an amount of garbage here. - line 31: // TODO: refactor. Currently, this class is a base for both SELECT and DELETE statements. In retrospect, - line 50: // TODO: remove constructor - line 155: // TODO: make generation of EQ configurable; turn it off and on harry-core/src/harry/generators/StringBijection.java (4 lines): - line 28: // TODO: document - line 82: // TODO: make use of `byteOrdered` to avoid flipping this bit - line 89: // TODO: shuld we switch to PCG here, too? - line 147: // TODO: create a method that would generate random nibbles, and return them sorted harry-core/src/harry/model/clock/ApproximateMonotonicClock.java (3 lines): - line 48: // TODO: shut down - line 55: // TODO: there's a theoretical possibility of a bug; when we have several consecutive epochs without - line 232: // TODO: binary search instead harry-core/src/harry/visitors/RecentValidator.java (3 lines): - line 54: // TODO: make query kind configurable - line 61: // TODO: expose metric, how many times validated recent partitions - line 74: // TODO: add pd skipping from shrinker here, too harry-core/src/harry/concurrent/WaitQueue.java (3 lines): - line 176: // TODO: this is only necessary because we use CLQ - which is only for historical any-NIH reasons - line 203: // TODO: attempt to remove the cancelled from the beginning only (need atomic cas of head) - line 233: * TODO: use intrusive linked list harry-core/src/harry/reconciler/PartitionState.java (3 lines): - line 183: //TODO: optimise by iterating over the columns that were removed by this deletion - line 184: //TODO: optimise final decision to fully remove the column by counting a number of set/unset columns - line 246: // TODO: we could improve this if we could get original descriptors harry-core/src/harry/dsl/HistoryBuilder.java (2 lines): - line 44: // TODO: we could use some sort of compact data structure or file format for navigable operation history - line 352: // TODO: In the future/for large sets we could avoid generating the values and just generate them on the fly: harry-core/src/harry/visitors/ParallelRecentValidator.java (2 lines): - line 63: // TODO: make query kind configurable - line 127: // TODO: make query selector configurable harry-core/src/harry/generators/Bijections.java (2 lines): - line 53: // TODO: byteSize is great, but you know what's better? Bit size! For example, for `boolean`, we only need a single bit. - line 102: // TODO: two points: harry-core/src/harry/visitors/OperationExecutor.java (2 lines): - line 36: // TODO: switch to EnumMap - line 37: // TODO: pluggable capabilities; OperationKind can/should bear its own logic harry-core/src/harry/util/BitSet.java (1 line): - line 101: // TODO: use count to check out-of-bounds harry-core/src/harry/model/QuiescentChecker.java (1 line): - line 146: // TODO: this is not necessarily true. It can also be that ordering is incorrect. harry-core/src/harry/generators/RngUtils.java (1 line): - line 81: // TODO: this needs some improvement harry-core/src/harry/concurrent/InfiniteLoopExecutor.java (1 line): - line 147: // TODO: InfiniteLoopExecutor should let the threads quiesce themselves rather then send interrupts harry-core/src/harry/corruptor/QueryResponseCorruptor.java (1 line): - line 65: // TODO: technically, we can do this just depends on corruption strategy harry-core/src/harry/generators/Generator.java (1 line): - line 51: // TODO: this is only applicable to surjections, it seems harry-core/src/harry/reconciler/Reconciler.java (1 line): - line 51: * TODO: it might be useful to actually record deletions instead of just removing values as we do right now. harry-core/src/harry/generators/distribution/Distribution.java (1 line): - line 117: // TODO: test and graph! harry-core/src/harry/corruptor/AddExtraRowCorruptor.java (1 line): - line 63: // TODO: extract CD cheaper harry-core/src/harry/corruptor/ChangeValueCorruptor.java (1 line): - line 56: // TODO: in addition to this, we should check if the value equals to the largest possible harry-core/src/harry/model/NoOpChecker.java (1 line): - line 37: // TODO: make it configurable harry-core/src/harry/visitors/MutatingVisitor.java (1 line): - line 110: // TODO: switch to Cassandra futures! harry-core/src/harry/visitors/RandomValidator.java (1 line): - line 69: // TODO: expose metric, how many times validated recent partitions harry-core/src/harry/ddl/SchemaGenerators.java (1 line): - line 64: // TODO: ByteBufferUtil#objectToBytes doesn't understand booleans harry-core/src/harry/util/Ranges.java (1 line): - line 28: // TODO: this is not really an interval tree, just two sorted arrays. However, given that ExhaustiveChecker has harry-core/src/harry/visitors/Sampler.java (1 line): - line 70: // TODO: why not just pd at pos? harry-core/src/harry/generators/Collections.java (1 line): - line 30: // TODO: collections are currently not deflatable and/or checkable with a model harry-core/src/harry/visitors/CorruptingVisitor.java (1 line): - line 73: // TODO: switch to a better entropy source