lbry-sdk icon indicating copy to clipboard operation
lbry-sdk copied to clipboard

UNIQUE constraint failed: peer.address, peer.udp_port when saving DHT nodes

Open shyba opened this issue 3 years ago • 0 comments

Left a script running and got that on shutdown. Needs investigation, but looks rare

2021-12-14 16:17:34,063 ERROR asyncio:1608: Task exception was never retrieved
future: <Task finished coro=<Node.refresh_node() done, defined at /home/user/lbry/lbry-sdk/lbry/dht/node.py:45> exception=IntegrityError('UNIQUE constraint failed: peer.address, peer.udp_port')>                
Traceback (most recent call last):
  File "/home/user/lbry/lbry-sdk/lbry/dht/node.py", line 86, in refresh_node
    hash_value = bytes.fromhex(blob_hash)
  File "/home/user/lbry/lbry-sdk/lbry/extras/daemon/storage.py", line 931, in save_kademlia_peers
    return await self.db.run(_save_kademlia_peers)
  File "/home/user/lbry/lbry-sdk/lbry/wallet/database.py", line 209, in run
    self.writer_executor, lambda: self.__run_transaction(fun, *args, **kwargs)
  File "/usr/lib/python3.7/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/home/user/lbry/lbry-sdk/lbry/wallet/database.py", line 209, in <lambda>
    self.writer_executor, lambda: self.__run_transaction(fun, *args, **kwargs)
  File "/home/user/lbry/lbry-sdk/lbry/wallet/database.py", line 222, in __run_transaction
    result = fun(self.writer_connection, *args, **kwargs)  # type: ignore
  File "/home/user/lbry/lbry-sdk/lbry/extras/daemon/storage.py", line 929, in _save_kademlia_peers
    ((binascii.hexlify(p.node_id), p.address, p.udp_port, p.tcp_port) for p in peers)
sqlite3.IntegrityError: UNIQUE constraint failed: peer.address, peer.udp_port

shyba avatar Dec 14 '21 19:12 shyba