swaroopak commented on a change in pull request #626: PHOENIX-5531: 
IndexUpgradeTool crashes for tables without any indexes…
URL: https://github.com/apache/phoenix/pull/626#discussion_r345452723
 
 

 ##########
 File path: 
phoenix-core/src/main/java/org/apache/phoenix/mapreduce/index/IndexUpgradeTool.java
 ##########
 @@ -333,6 +333,8 @@ private int executeTool(Connection conn, 
ConnectionQueryServices queryServices,
                 LOGGER.info("Executing " + operation + " for " + 
dataTableFullName);
 
                 boolean mutable = !(dataTable.isImmutableRows());
+                disableTable(admin, dataTableFullName, indexes);
+                modifyTable(admin, dataTableFullName, indexes);
                 if (!mutable) {
 
 Review comment:
   Let's say there are 2 immutable tables in the list and after waiting for 
cache expiration for the first time and while remaining steps are in progress, 
the second table's GIC boolean is loaded in the cache due to some other 
read/write request. Now, we have not upgraded the second table yet. However, we 
have waited for cache to expire before and hence if we won't, now, the old GIC 
boolean value will be there in the cache (for second table) even though the 
server has changed the coproc for the second table. Does this make sense? 
   
   On the other side of the code, is it possible to invalidate the cache after 
server-side values have been updated or update the cache itself via server? 
@gjacoby126 @priyankporwal 

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

Reply via email to