Troubleshoot Problems with Global Active Tables

Error while creating a regional replica for a table with a child table:

You cannot create a regional replica for a table with a child table, as child tables are not currently supported for a Global Active table.

Troubleshoot issues when adding a regional replica:

  1. Error when an incorrect region is specified:
    If the name of the region that you are specifying in the SDK API calls for a regional table replica is incorrect, you get the following error. You need to specify another valid region.
    Adding replica: ca-montral-1
    java.lang.IllegalArgumentException: ADD_REPLICA: Illegal Argument: 
    ca-montral-1 isn't known to this service, and is not a valid region name
  2. Error when creating a regional table replica without freezing the schema:

    You need to first freeze the schema of your table before creating a regional replica of it. The schema of the table cannot be in the Mutable state when you are creating a regional replica.

  3. Error when creating a regional replica of an always-free table:

    An always-free table cannot be converted to a Global Active table.

Troubleshoot issues when freezing a schema:

Error due to the absence of a JSON field:

A common error ( as shown below) while freezing a schema is the absence of a JSON field in the schema. The table should contain at least one JSON field.
The table's schema can't be frozen, because it does not contain a 
column of type JSON.

Troubleshoot issues with user privileges on Global Active tables

Differing user privileges across regions/replicas: You could get an error when a Global Active table is created in one region and replicated to other regions and the user privileges on table creation/altering tables/reading tables are different across regions. You can get an error in one of the following situations:
  • Users in the receiver regions do not have NOSQL_TABLE_INSPECT permission
  • Users in the receiver regions do not have NOSQL_TABLE_READ permission
  • Users in the receiver regions do not have NOSQL_TABLE_ALTER permission
  • Users in the receiver regions do not have NOSQL_TABLE_CREATE permission
  • If the tenancy has insufficient read/write/storage capacity in the sender region or receiver region.
  • If the tenancy has reached MAX_TABLES in the sender region or receiver region.

Troubleshoot issues with altering a Global Active table

  1. Error while changing the schema of the table after freezing it:
    If you try to change the definition of a Global Active table by either adding a column or removing an existing column, you get an error as shown below. This is because the schema of a Global Active table is frozen and cannot be changed.
    Columns can't be added, because the table's schema is frozen.
  2. Error while dropping a Global Active table without dropping all regional replicas:
    You can drop a Global Active table only if there are currently no regional table replicas. Otherwise, you get an error as shown below. You should delete the regional replicas first before dropping the table.
    The table named <tbl_name> can't be deleted, because it belongs to a set of replicas. 
    A replica table cannot be deleted before its replicas are deleted.
  3. Error when changing the schema state to Mutable for a Global Active table with replicas:
    You cannot unfreeze the schema of a Global Active table and change it to Mutable when there are regional replicas added to it. The corresponding error is shown below. You should delete all regional table replicas and then you can unfreeze the schema.
    The table's schema can't be unfrozen, because it is a global active table with
    replicas.