def setUp(self):
     self.harness = SharedStateTestHarness.SharedStateTestHarness(True)
     self.manager = SharedStateService.KeyspaceManager(10001,1, pingInterval=1)
     self.introKeyspace = SharedState.getClientInfoKeyspace()
     self.introRange = SharedState.KeyRange(self.introKeyspace, 1, None, None, True, False)
     self.views = []
     self.maxDiff = None
Example #2
0
    def disabled_read_write_kv_maps_using_storage(self):
        for ix in range(1000):
            self.harness.writeToKeyspace(
                self.view,
                self.keyspaceName,
                NativeJson.Json('key%s' % ix),
                NativeJson.Json('test%s' % ix)
                )

        logging.warn("tempDir: %s, tempDir2: %s", self.tempDir, self.tempDir2)

        allItemsFromViewInitial = self.harness.getAllItemsFromView(self.view, self.keyspaceName)
        keyspaceList = [x for x in self.harness.manager.getAllKeyspaces()
                if x != SharedState.getClientInfoKeyspace()]

        self.assertTrue(len(allItemsFromViewInitial) == 1000)
        self.view.flush()
        self.harness.sendPingAndCompact()
        self.harness.teardown()

        try:
            storageA = SharedStateNative.Storage.FileStorage(self.tempDir, 100, 10)
            storageB = SharedStateNative.Storage.FileStorage(self.tempDir2, 100, 10)

            self.assertTrue(len(keyspaceList) == 1)


            for keyspace in keyspaceList:
                storageForKeyspaceA = storageA.storageForKeyspace(keyspace, 0)
                storageForKeyspaceB = storageB.storageForKeyspace(keyspace, 0)

                data = storageForKeyspaceA.readKeyValueMap()
                self.assertTrue(len(data) > 0)

                storageForKeyspaceB.writeKeyValueMap(data)

            self.harness = self.newHarness(self.tempDir2)
            self.view = self.harness.newView()
            self.harness.subscribeToKeyspace(self.view, self.keyspaceName)
            allItemsFromViewFinal = self.harness.getAllItemsFromView(self.view, self.keyspaceName)

            self.assertEqual(allItemsFromViewInitial, allItemsFromViewFinal)
        finally:
            if storageA:
                storageA.shutdown()
            if storageB:
                storageB.shutdown()
 def getIntrospectionContentsForView(self, view):
     for k, v in SharedState.iterItems(view, SharedState.getClientInfoKeyspace()):
         if v.value() != NativeJson.Json('disconnected'):
             yield int(k[1].toSimple())