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.
---