()
| 64 | } |
| 65 | |
| 66 | @Test |
| 67 | public void testDbh2() throws Exception { |
| 68 | Task.tryInitThreadPool(); |
| 69 | var database = new RocksDatabase("dbh2TestSimple"); |
| 70 | var bucket1 = new Bucket(""" |
| 71 | <?xml version="1.0" encoding="utf-8"?> |
| 72 | <raft Name=""> |
| 73 | <node Host="127.0.0.1" Port="19000"/> |
| 74 | <node Host="127.0.0.1" Port="19001"/> |
| 75 | <node Host="127.0.0.1" Port="19002"/> |
| 76 | </raft> |
| 77 | """, database); |
| 78 | var bucket2 = new Bucket(""" |
| 79 | <?xml version="1.0" encoding="utf-8"?> |
| 80 | <raft Name=""> |
| 81 | <node Host="127.0.0.1" Port="19003"/> |
| 82 | <node Host="127.0.0.1" Port="19004"/> |
| 83 | <node Host="127.0.0.1" Port="19005"/> |
| 84 | </raft> |
| 85 | """, database); |
| 86 | var serviceManager = Application.createServiceManager(Config.load(), "Dbh2ServiceManager"); |
| 87 | assert serviceManager != null; |
| 88 | serviceManager.start(); |
| 89 | serviceManager.waitReady(); |
| 90 | Application.renameAndDeleteDirectory(new File("CommitRocks")); |
| 91 | var dbh2AgentManager = new Dbh2AgentManager(serviceManager, null, 101); |
| 92 | try { |
| 93 | final var db = "database"; |
| 94 | final var tb1 = "table1"; |
| 95 | final var tb2 = "table2"; |
| 96 | |
| 97 | var meta1 = new BBucketMeta.Data(); |
| 98 | meta1.setDatabaseName(db); |
| 99 | meta1.setTableName(tb1); |
| 100 | meta1.setRaftConfig(""); |
| 101 | meta1.setKeyFirst(Binary.Empty); |
| 102 | meta1.setKeyLast(Binary.Empty); |
| 103 | bucket1.agent().setBucketMeta(meta1); // 这个meta必须第一个设置。由于测试的meta一样,第二次运行重复设置是可以的。 |
| 104 | |
| 105 | var meta2 = new BBucketMeta.Data(); |
| 106 | meta2.setDatabaseName(db); |
| 107 | meta2.setTableName(tb2); |
| 108 | meta2.setRaftConfig(""); |
| 109 | meta2.setKeyFirst(Binary.Empty); |
| 110 | meta2.setKeyLast(Binary.Empty); |
| 111 | bucket2.agent().setBucketMeta(meta2); // 这个meta必须第一个设置。由于测试的meta一样,第二次运行重复设置是可以的。 |
| 112 | |
| 113 | var key = new Binary(new byte[]{1}); |
| 114 | var value = new Binary(new byte[]{1}); |
| 115 | |
| 116 | dbh2AgentManager.start(); |
| 117 | { |
| 118 | var batch = new BPrepareBatch.Data("", db, tb1, null); |
| 119 | batch.getBatch().getPuts().put(key, value); |
| 120 | batch.getBatch().setTid(dbh2AgentManager.nextTransactionId()); |
| 121 | bucket1.agent().prepareBatch(batch).await(); |
| 122 | bucket1.agent().commitBatch(batch.getBatch().getTid()).await(); |
| 123 | } |
nothing calls this directly
no test coverage detected