From 6e279da9d40ed5a073df0bef1ed17ad1724116f7 Mon Sep 17 00:00:00 2001 From: ryan Date: Fri, 12 Aug 2016 11:21:03 +0200 Subject: [PATCH] remove block delete reverter --- bigchaindb/block.py | 52 ----------------------------------- bigchaindb/processes.py | 5 ---- tests/db/test_bigchain_api.py | 35 ----------------------- 3 files changed, 92 deletions(-) delete mode 100644 bigchaindb/block.py diff --git a/bigchaindb/block.py b/bigchaindb/block.py deleted file mode 100644 index 2267ef0e..00000000 --- a/bigchaindb/block.py +++ /dev/null @@ -1,52 +0,0 @@ -import logging -import multiprocessing as mp -import queue - -import rethinkdb as r - -import bigchaindb -from bigchaindb import Bigchain -from bigchaindb.monitor import Monitor -from bigchaindb.util import ProcessGroup - - -logger = logging.getLogger(__name__) - - -class BlockDeleteRevert(object): - - def __init__(self, q_delete_to_revert): - self.q_delete_to_revert = q_delete_to_revert - - def write_blocks(self): - """ - Write blocks to the bigchain - """ - - # create bigchain instance - b = Bigchain() - - # Write blocks - while True: - block = self.q_delete_to_revert.get() - - # poison pill - if block == 'stop': - return - - b.write_block(block) - - def kill(self): - for i in range(mp.cpu_count()): - self.q_delete_to_revert.put('stop') - - def start(self): - """ - Initialize, spawn, and start the processes - """ - - # initialize the processes - p_write = ProcessGroup(name='write_blocks', target=self.write_blocks) - - # start the processes - p_write.start() diff --git a/bigchaindb/processes.py b/bigchaindb/processes.py index 5c7edcc3..8cdb9f11 100644 --- a/bigchaindb/processes.py +++ b/bigchaindb/processes.py @@ -7,7 +7,6 @@ import bigchaindb from bigchaindb.pipelines import block, election from bigchaindb import Bigchain from bigchaindb.voter import Voter -from bigchaindb.block import BlockDeleteRevert from bigchaindb.web import server @@ -54,8 +53,6 @@ class Processes(object): def start(self): logger.info('Initializing BigchainDB...') - delete_reverter = BlockDeleteRevert(self.q_revert_delete) - # start the web api app_server = server.create_server(bigchaindb.config['server']) p_webapi = mp.Process(name='webapi', target=app_server.run) @@ -63,14 +60,12 @@ class Processes(object): # initialize the processes p_map_bigchain = mp.Process(name='bigchain_mapper', target=self.map_bigchain) - p_block_delete_revert = mp.Process(name='block_delete_revert', target=delete_reverter.start) p_voter = Voter(self.q_new_block) # start the processes logger.info('starting bigchain mapper') p_map_bigchain.start() logger.info('starting block') block.start() - p_block_delete_revert.start() logger.info('starting voter') p_voter.start() diff --git a/tests/db/test_bigchain_api.py b/tests/db/test_bigchain_api.py index 32691468..f737a7a0 100644 --- a/tests/db/test_bigchain_api.py +++ b/tests/db/test_bigchain_api.py @@ -10,7 +10,6 @@ import cryptoconditions as cc import bigchaindb from bigchaindb import crypto, exceptions, util from bigchaindb.voter import Voter -from bigchaindb.block import BlockDeleteRevert @pytest.mark.skipif(reason='Some tests throw a ResourceWarning that might result in some weird ' @@ -610,40 +609,6 @@ class TestBlockValidation(object): class TestBigchainBlock(object): - - def test_revert_delete_block(self, b): - b.create_genesis_block() - - block_1 = dummy_block() - block_2 = dummy_block() - block_3 = dummy_block() - - b.write_block(block_1, durability='hard') - b.write_block(block_2, durability='hard') - b.write_block(block_3, durability='hard') - - b.write_vote(block_1, b.vote(block_1['id'], b.get_last_voted_block()['id'], True)) - b.write_vote(block_2, b.vote(block_2['id'], b.get_last_voted_block()['id'], True)) - b.write_vote(block_3, b.vote(block_3['id'], b.get_last_voted_block()['id'], True)) - - q_revert_delete = mp.Queue() - - reverter = BlockDeleteRevert(q_revert_delete) - - # simulate changefeed - r.table('bigchain').get(block_2['id']).delete().run(b.conn) - q_revert_delete.put(block_2) - - assert r.table('bigchain').get(block_2['id']).run(b.conn) is None - - reverter.start() - time.sleep(1) - reverter.kill() - - reverted_block_2 = r.table('bigchain').get(block_2['id']).run(b.conn) - - assert reverted_block_2 == block_2 - def test_duplicated_transactions(self): pytest.skip('We may have duplicates in the initial_results and changefeed')