Skip to content
Snippets Groups Projects
Commit 040c48ea authored by Hang's avatar Hang
Browse files

fast push

parent cb2ee893
No related branches found
No related tags found
1 merge request!10MP3 Log Version Ready
...@@ -769,8 +769,8 @@ if __name__ == '__main__': ...@@ -769,8 +769,8 @@ if __name__ == '__main__':
map_hostname_to_ip(SERVERS) map_hostname_to_ip(SERVERS)
CURRENT_SERVER_PORT = SERVERS[CURRENT_SERVER_ID][SERVER_PORT] CURRENT_SERVER_PORT = SERVERS[CURRENT_SERVER_ID][SERVER_PORT]
pprint(f'[main] - SELF_NODE: {SELF_NODE}') # pprint(f'[main] - SELF_NODE: {SELF_NODE}')
pprint(f'[main] - SELF_NODE.lock: {SELF_NODE.lock}') # pprint(f'[main] - SELF_NODE.lock: {SELF_NODE.lock}')
thread1 = threading.Thread(target=accepting_clients, args=[SELF_NODE]) thread1 = threading.Thread(target=accepting_clients, args=[SELF_NODE])
thread2 = threading.Thread(target=accepting_peer_servers, args=[SELF_NODE]) thread2 = threading.Thread(target=accepting_peer_servers, args=[SELF_NODE])
......
...@@ -149,7 +149,6 @@ def commit_check_transaction(timestamp: str, self_node: SelfNode) -> bool: ...@@ -149,7 +149,6 @@ def commit_check_transaction(timestamp: str, self_node: SelfNode) -> bool:
# return true 表示写成功了 # return true 表示写成功了
# DEPOSIT && WITHDRAW GET INSIDE # DEPOSIT && WITHDRAW GET INSIDE
def tentative_write(self_node: SelfNode, timestamp: str, rawOperation: str): def tentative_write(self_node: SelfNode, timestamp: str, rawOperation: str):
if not self_node.lock.locked(): if not self_node.lock.locked():
self_node.lock.acquire() self_node.lock.acquire()
...@@ -455,7 +454,7 @@ def connect_with_all_servers(servers: dict, current_server_id: str, return_value ...@@ -455,7 +454,7 @@ def connect_with_all_servers(servers: dict, current_server_id: str, return_value
try: try:
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
host_ip_address = SERVER_ID_TO_IP_MAPPING[server[SERVER_IDENTIFIER]] host_ip_address = SERVER_ID_TO_IP_MAPPING[server[SERVER_IDENTIFIER]]
server[SERVER_PORT] = 5678 # todo: to be deleted server[SERVER_PORT] = 55555 # todo: to be deleted
address = (host_ip_address, server[SERVER_PORT]) address = (host_ip_address, server[SERVER_PORT])
s.connect(address) s.connect(address)
connect_info[server_id] = s connect_info[server_id] = s
...@@ -463,7 +462,7 @@ def connect_with_all_servers(servers: dict, current_server_id: str, return_value ...@@ -463,7 +462,7 @@ def connect_with_all_servers(servers: dict, current_server_id: str, return_value
f"Connecting to {server[SERVER_IDENTIFIER]}: {host_ip_address}:{server[SERVER_PORT]} success!") f"Connecting to {server[SERVER_IDENTIFIER]}: {host_ip_address}:{server[SERVER_PORT]} success!")
except Exception: except Exception:
rprint(f"[Connect] - Connection to " rprint(f"[Connect] - Connection to "
f"{server[SERVER_IDENTIFIER]}: {host_ip_address}:{server[SERVER_PORT]} failed. " f"{server[SERVER_IDENTIFIER]} failed. "
f"Reconnecting in {RECONNECT_TIME}s..") f"Reconnecting in {RECONNECT_TIME}s..")
remaining_nodes[server_id] = server remaining_nodes[server_id] = server
servers = remaining_nodes servers = remaining_nodes
...@@ -686,7 +685,7 @@ def server_handler(conn, SELF_NODE): ...@@ -686,7 +685,7 @@ def server_handler(conn, SELF_NODE):
break break
ret_value = reformat_return_value(ret_value) ret_value = reformat_return_value(ret_value)
send_msg_to_socket(ret_value, conn) send_msg_to_socket(ret_value, conn)
gprint(f'[server_handler] accounts_map: \n{json.dumps(accounts_map, default=lambda x:x.__dict__)}') gprint(f'[server_handler] accounts_map: \n{json.dumps(accounts_map, default=lambda x: x.__dict__)}')
except Exception as e: except Exception as e:
rprint(f"[ERROR] server_handler error:{e.__class__.__name__}.{e}.{traceback.format_exc()}") rprint(f"[ERROR] server_handler error:{e.__class__.__name__}.{e}.{traceback.format_exc()}")
finally: finally:
...@@ -698,7 +697,8 @@ def server_handler(conn, SELF_NODE): ...@@ -698,7 +697,8 @@ def server_handler(conn, SELF_NODE):
def accepting_clients(SELF_NODE): def accepting_clients(SELF_NODE):
try: try:
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM) server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server.bind((CURRENT_SERVER_IP, 1234)) # pprint(f'[accepting_clients] - {SERVERS}')
server.bind((CURRENT_SERVER_IP, SERVERS[CURRENT_SERVER_ID][SERVER_PORT]))
server.listen() server.listen()
# print(f"[LISTENING] Server is listening on {ADDR}") # DEBUG # print(f"[LISTENING] Server is listening on {ADDR}") # DEBUG
while True: while True:
...@@ -719,7 +719,7 @@ def accepting_clients(SELF_NODE): ...@@ -719,7 +719,7 @@ def accepting_clients(SELF_NODE):
def accepting_peer_servers(SELF_NODE): def accepting_peer_servers(SELF_NODE):
try: try:
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM) server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server.bind((CURRENT_SERVER_IP, 5678)) server.bind((CURRENT_SERVER_IP, 55555))
server.listen() server.listen()
# print(f"[LISTENING] Server is listening on {ADDR}") # DEBUG # print(f"[LISTENING] Server is listening on {ADDR}") # DEBUG
while True: while True:
...@@ -772,14 +772,14 @@ if __name__ == '__main__': ...@@ -772,14 +772,14 @@ if __name__ == '__main__':
# pprint(f'[main] - SELF_NODE: {SELF_NODE}') # pprint(f'[main] - SELF_NODE: {SELF_NODE}')
# pprint(f'[main] - SELF_NODE.lock: {SELF_NODE.lock}') # pprint(f'[main] - SELF_NODE.lock: {SELF_NODE.lock}')
# thread1 = threading.Thread(target=accepting_clients, args=[SELF_NODE]) thread1 = threading.Thread(target=accepting_clients, args=[SELF_NODE])
# thread2 = threading.Thread(target=accepting_peer_servers, args=[SELF_NODE]) thread2 = threading.Thread(target=accepting_peer_servers, args=[SELF_NODE])
#
# thread1.start() thread1.start()
# thread2.start() thread2.start()
# thread1.join() thread1.join()
# thread2.join() thread2.join()
thread = threading.Thread(target=accepting_connections, args=[SELF_NODE]) # thread = threading.Thread(target=accepting_connections, args=[SELF_NODE])
thread.start() # thread.start()
thread.join() # thread.join()
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment