Github user twdsilva commented on a diff in the pull request:
https://github.com/apache/phoenix/pull/303#discussion_r191944295
--- Diff:
phoenix-core/src/main/java/org/apache/phoenix/coprocessor/MetaDataEndpointImpl.java
---
@@ -2227,35 +2551,36 @@ private MetaDataMutationResult doDropTable(byte[]
key, byte[] tenantId, byte[] s
// in 0.94.4, thus if we try to use it here we can no longer
use the 0.94.2 version
// of the client.
Delete delete = new Delete(indexKey, clientTimeStamp);
- rowsToDelete.add(delete);
- acquireLock(region, indexKey, locks);
+ catalogMutations.add(delete);
MetaDataMutationResult result =
doDropTable(indexKey, tenantId, schemaName, indexName,
tableName, PTableType.INDEX,
- rowsToDelete, invalidateList, locks,
tableNamesToDelete, sharedTablesToDelete, false, clientVersion);
+ catalogMutations, childLinkMutations,
invalidateList, tableNamesToDelete, sharedTablesToDelete, false, clientVersion);
if (result.getMutationCode() !=
MutationCode.TABLE_ALREADY_EXISTS) {
return result;
}
}
+ // no need to pass sharedTablesToDelete back to the client as they
deletion of these tables
+ // is already handled in MetadataClient.dropTable
--- End diff --
We still pass sharedTablesToDelete back to the client when calling
dropColumn, so that we drop the local or view index data I think. We don't need
to pass sharedTablesToDelete back to the client when dropping a table.
---