Github user JamesRTaylor commented on a diff in the pull request:
https://github.com/apache/phoenix/pull/303#discussion_r200208319
--- Diff:
phoenix-core/src/main/java/org/apache/phoenix/coprocessor/MetaDataEndpointImpl.java
---
@@ -1779,13 +2174,65 @@ public void createTable(RpcController controller,
CreateTableRequest request,
}
}
+ // The mutations to create a table are written in the
following order:
+ // 1. Write the child link as if the next two steps fail we
+ // ignore missing children while processing a parent
+ // 2. Update the encoded column qualifier for the parent
table if its on a
+ // different region server (for tables that use column
qualifier encoding)
+ // if the next step fails we end up wasting a few col
qualifiers
+ // 3. Finally write the mutations to create the table
+
+ // From 4.15 the parent->child links are stored in a
separate table SYSTEM.CHILD_LINK
+ List<Mutation> childLinkMutations =
MetaDataUtil.removeChildLinks(tableMetadata);
--- End diff --
TODO to remove this code in 4.16.
---