[ https://issues.apache.org/jira/browse/ACCUMULO-759?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13452548#comment-13452548 ]
Christopher Tubbs commented on ACCUMULO-759: -------------------------------------------- I don't think the negative numbers would be easy to understand. The "appendScanIterator(...)" I suggested using Keith's suggestion for a "conn.tableOperations().getMaxIteratorPriority(table);" for its implementation, might work. An alternative to the "getMaxIteratorPriority(table)" would be to do something like TCP port numbering... reserve 1023 and below for per-table iterators (if a table has more than this in use, it's schema is probably pretty poorly designed and the data should simply be re-ingested), and allow 1024 and above for client-configured scan iterators (using my "append" suggestion to start at 1024 by default; my suggested "insert" method should still allow injecting into the <1024 priority space). This change is not backwards compatible. > remove priority setting for scan-time iterators > ----------------------------------------------- > > Key: ACCUMULO-759 > URL: https://issues.apache.org/jira/browse/ACCUMULO-759 > Project: Accumulo > Issue Type: Improvement > Reporter: Adam Fuchs > Labels: newbie > > Iterators have a priority setting that allows a user to order iterators > arbitrarily. However that priority is an integer that doesn't directly convey > the iterator's relationship to other iterators. I would postulate that nobody > has ever needed to sneak in a scan-time iterator underneath a configured > table iterator (please let me know if I'm wrong about this), and the effect > of doing so is not easy to calculate. Many people have chosen a bad iterator > priority and seen commutativity problems with previously configured iterators. > I propose that we use more of an agglomerative approach to configuring > scan-time iterators, in which the order of the iterator tree is the same > order in which the addScanIterator method is called, and all scan-time > iterators apply after the configured iterators apply. The change to the API > should just be to remove the priority number, and the existing > IteratorSetting constructor and accessors should be deprecated. > With this change, we can think of an iterator as more of a functional > modification to a data set, as in T' = f(T) or T'' = g(f(T)). This should > make it easier for developers to use iterators correctly. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira