Github user ohadshacham commented on a diff in the pull request:

    https://github.com/apache/phoenix/pull/291#discussion_r166875958
  
    --- Diff: 
phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
 ---
    @@ -850,19 +849,12 @@ private void addCoprocessors(byte[] tableName, 
HTableDescriptor descriptor, PTab
                         && !SchemaUtil.isMetaTable(tableName)
                         && !SchemaUtil.isStatsTable(tableName)) {
                     if (isTransactional) {
    -                    if 
(!descriptor.hasCoprocessor(PhoenixTransactionalIndexer.class.getName())) {
    -                        
descriptor.addCoprocessor(PhoenixTransactionalIndexer.class.getName(), null, 
priority, null);
    -                    }
    --- End diff --
    
    Maybe I am missing something, but I don't understand why if we upgrade 
server and client together, we still need an empty PhoenixTransactionalIndexer. 
Can't we just remove the addCoprocessor from the code and remove 
PhoenixTransactionalIndexer?
    
    Regarding the case of supporting server upgrade with old clients. Can't we 
just add a new attribute to each mutation denotes that the index maintenance 
performed on the client slide and modify PhoenixTransactionalIndexer to ignore 
mutations (call the super function) for mutations that contains this attribute?


---

Reply via email to