diff --git a/bittensor_cli/cli.py b/bittensor_cli/cli.py index 9fd55345c..a4e2075f5 100755 --- a/bittensor_cli/cli.py +++ b/bittensor_cli/cli.py @@ -6631,7 +6631,16 @@ def sudo_set( exit_early=False, ) if not hyperparams: - # TODO this will cause a hanging connection, subtensor needs to be gracefully exited + # Ensure we don't leave the websocket connection hanging. + if self.subtensor: + try: + self.event_loop.run_until_complete( + self.subtensor.substrate.close() + ) + except Exception: + pass + finally: + self.subtensor = None raise typer.Exit() if not param_name: diff --git a/bittensor_cli/src/bittensor/utils.py b/bittensor_cli/src/bittensor/utils.py index 2310074b9..c15b8f287 100644 --- a/bittensor_cli/src/bittensor/utils.py +++ b/bittensor_cli/src/bittensor/utils.py @@ -1124,7 +1124,7 @@ def delete_entry( call_hash: str, ): conn.execute( - f"DELETE FROM {cls.name} WHERE call_hash = ?, address = ?, epoch_time = ?, block = ?", + f"DELETE FROM {cls.name} WHERE call_hash = ? AND address = ? AND epoch_time = ? AND block = ?", (call_hash, address, epoch_time, block), ) conn.commit()