Lazy Logical Replication with MonetDB

47 Views Asked by At

I'm trying to implement MonetDB in three machines, one master and two replicas in lazy logical replication.

For now I'm trying to implement in only machine with the following commands I took from this old issue in only one machine for now.

Everything goes according to plan until the first problem I have: When trying to create tables or inserting stuff I get the following errors I was not able to find on google:

  • Error in optimizer wlc: TypeException:user.main[17]:'wlc.predicate' undefined in: X_0:any := wlc.predicate("alpha":str, "id":str);
  • Error in optimizer wlc: TypeException:user.main[50]:'wlc.predicate' undefined in: X_0:any := wlc.predicate("beta":str, "id":str);
  • Error in optimizer wlc: TypeException:user.main[77]:'wlc.depend' undefined in: X_0:any := wlc.depend("beta":str, X_1:lng); I got around this by setting optpipe to minimal_pipe but I wanted to know why this is happening so I don't have to do this.

The second problem I have when trying CALL wlr.replicate:

  • Perhaps a missing wlr.master() call.

How do I correctly set-up replication? Thanks in advance.

1

There are 1 best solutions below

0
Yunus King On

The wlc/wlr features are experimental and de facto deprecated in current releases of MonetDB and completely removed starting from the next major release. Replication in MonetDB is a topic currently under revision. You might be better off formulating a feature request on MonetDB's githup page.

You might also consider looking into the concepts of replicate and remote tables. But those are definitely not solutions by themselves and if used as such, implement replication on the SQL layer instead of the infrastructural layer.

But on the short run, I do not expect that the open source community can help you out here much. Consider commercial support otherwise if feasible.