MemSQL Replicant null pointer exception

Hi,

We’re trying to replicate a SQL Server to MemSQL but control the destination DB name and table names.

We tried to use infer-schemas for a working baseline. But, the output file used results in a “null pointer exception”.

username@memsql-replicant01:~/replicate_mssql_memsql$ ./replicant-cli/bin/replicant infer-schemas --filter sqlserver_filter_b.yaml sqlserver_conn.yaml MEMSQL
Source schemas inferred: /home/username/replicate_mssql_memsql/schemas.yaml

username@memsql-replicant01:~/replicate_mssql_memsql$ cat schemas.yaml
schemas:
- catalog: Schema_Name_dbo
  tables:
  - columns:
    - name: column1
      notNull: true
      type: INT
    - name: column2
      type: INT
    name: table1
    tableStore: ROW
username@memsql-replicant01:~/replicate_mssql_memsql$ ./replicant-cli/bin/replicant snapshot --filter sqlserver_filter_b.yaml --append sqlserver_conn.yaml memsql_conn.yaml --extractor sqlserver_extractor.yaml --applier memsql_applier.yaml --id replicator6 --dst-schema schemas.yaml
Replication error
java.lang.NullPointerException: null
	at tech.replicant.form.schema.MemSQLTableSchemaForm.a(SourceFile:113)
	at tech.replicant.form.schema.DBSchemasForm$NamespaceSchemaForm.a(SourceFile:829)
	at tech.replicant.form.schema.DBSchemasForm$NamespaceSchemaForm.a(SourceFile:1837)
	at tech.replicant.form.schema.DBSchemasForm.a(SourceFile:894)
	at tech.replicant.ReplicationManager.a(SourceFile:144)
	at tech.replicant.Main.main(SourceFile:2879)

Without using --dst-schema, the replicant works but chooses the destination DB name and table names itself.

We also tried to use map but, when using table-store: [ROW || COLUMN] we get a Java enumeration error.
When we omit that key value and leave two simple schema->database names, the replicant ignores the mapping and uses the default “chained” named of “Schema_Name_dbo”.

rules:
  custom_name:
    source:
    - [dbo, Schema_Name]   # Also tried just "Schema_Name"/"dbo"

The structure was taken from the included examples directory that comes with the replicant.

Any help is appreciated.