1 : 1 2025-12-10 12:49:42,400 - INFO - Args {'bulk_update_resourcedata': {'scenario_ids': [296100], 'resource_scenarios': [{'resource_attr_id': 39581808, 'dataset': {'name': 'simulated_flow', 'value': '{data: {url: s3://waterstrategy-resul
Traceback (most recent call last):
File /usr/local/bin/hydra-pywr, line 33, in <module>
sys.exit(load_entry_point('hydra-pywr==0.1', 'console_scripts', 'hydra-pywr')())
File /usr/local/lib/python3.10/dist-packages/hydra_pywr-0.1-py3.10.egg/hydra_pywr/cli.py, line 27, in start_cli
cli(obj={}, auto_envvar_prefix='HYDRA_PYWR')
File /usr/local/lib/python3.10/dist-packages/click/core.py, line 1157, in __call__
return self.main(*args, **kwargs)
File /usr/local/lib/python3.10/dist-packages/click/core.py, line 1078, in main
rv = self.invoke(ctx)
File /usr/local/lib/python3.10/dist-packages/click/core.py, line 1688, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File /usr/local/lib/python3.10/dist-packages/click/core.py, line 1434, in invoke
return ctx.invoke(self.callback, **ctx.params)
File /usr/local/lib/python3.10/dist-packages/click/core.py, line 783, in invoke
return __callback(*args, **kwargs)
File /usr/local/lib/python3.10/dist-packages/click/decorators.py, line 45, in new_func
return f(get_current_context().obj, *args, **kwargs)
File /usr/local/lib/python3.10/dist-packages/hydra_pywr-0.1-py3.10.egg/hydra_pywr/cli.py, line 147, in run
runner.run_network_scenario(client,
File /usr/local/lib/python3.10/dist-packages/hydra_pywr-0.1-py3.10.egg/hydra_pywr/runner.py, line 49, in run_network_scenario
runner.save_pywr_results()
File /usr/local/lib/python3.10/dist-packages/hydra_pywr-0.1-py3.10.egg/hydra_pywr/runner.py, line 633, in save_pywr_results
self.hydra.bulk_update_resourcedata(
File /usr/local/lib/python3.10/dist-packages/hydra_client-0.1.3-py3.10.egg/hydra_client/connection/base_connection.py, line 39, in wrapped
File /usr/local/lib/python3.10/dist-packages/hydra_client-0.1.3-py3.10.egg/hydra_client/connection/remote_json_connection.py, line 165, in call
hydra_client.exception.RequestError: {'message': b'', 'code': '200'}
/usr/local/lib/python3.10/dist-packages/tables/file.py:114: UnclosedFileWarning: Closing remaining open file: /tmp/296100/simulated_volume.h5
warnings.warn(UnclosedFileWarning(msg))
/usr/local/lib/python3.10/dist-packages/tables/file.py:114: UnclosedFileWarning: Closing remaining open file: /tmp/296100/simulated_flow.h5
warnings.warn(UnclosedFileWarning(msg))
+ '[' 1 -ne 0 ']'
+ exit 1
[SQL: UPDATE `tDataset` SET hash=%s, value=%s, updated_at=CURRENT_TIMESTAMP, updated_by=%s WHERE `tDataset`.id = %s]
[parameters: (3458027192104710309, '[0.955335831988559, 0.7271120857539254]', 12965, 6358555)]
(Background on this error at: https://sqlalche.me/e/20/gkpj)
1 : 1 2025-12-10 12:49:57,798 - ERROR - Fault(Server: IntegrityError('(MySQLdb.IntegrityError) (1062, "Duplicate entry \'3458027192104710309\' for key \'tDataset.hash\'")'))
Traceback (most recent call last):
File "/venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1963, in _exec_single_context
self.dialect.do_execute(
File "/venv/lib/python3.11/site-packages/sqlalchemy/engine/default.py", line 943, in do_execute
cursor.execute(statement, parameters)
File "/venv/lib/python3.11/site-packages/MySQLdb/cursors.py", line 179, in execute
res = self._query(mogrified_query)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/venv/lib/python3.11/site-packages/MySQLdb/cursors.py", line 330, in _query
db.query(q)
File "/venv/lib/python3.11/site-packages/MySQLdb/connections.py", line 280, in query
_mysql.connection.query(self, query)
MySQLdb.IntegrityError: (1062, "Duplicate entry '3458027192104710309' for key 'tDataset.hash'")
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/venv/lib/python3.11/site-packages/hydra_server/__init__.py", line 187, in call_wrapper
res = ctx.service_class.call_wrapper(ctx)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/venv/lib/python3.11/site-packages/spyne/service.py", line 194, in call_wrapper
return ctx.function(*args)
^^^^^^^^^^^^^^^^^^^
File "/venv/lib/python3.11/site-packages/hydra_server/server/scenario.py", line 270, in bulk_update_resourcedata
scenario.bulk_update_resourcedata(scenario_ids,
File "/venv/lib/python3.11/site-packages/hydra_base/util/permissions.py", line 98, in wrapped
return wfunc(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^
File "/venv/lib/python3.11/site-packages/hydra_base/lib/scenario.py", line 986, in bulk_update_resourcedata
updated_rs = _update_resourcescenario(scen_i,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/venv/lib/python3.11/site-packages/hydra_base/lib/scenario.py", line 1167, in _update_resourcescenario
new_rscen_i = assign_value(r_scen_i,
^^^^^^^^^^^^^^^^^^^^^^
File "/venv/lib/python3.11/site-packages/hydra_base/util/permissions.py", line 98, in wrapped
return wfunc(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^
File "/venv/lib/python3.11/site-packages/hydra_base/lib/scenario.py", line 1242, in assign_value
db.DBSession.flush()
File "/venv/lib/python3.11/site-packages/sqlalchemy/orm/scoping.py", line 938, in flush
return self._proxied.flush(objects=objects)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/venv/lib/python3.11/site-packages/sqlalchemy/orm/session.py", line 4345, in flush
self._flush(objects)
File "/venv/lib/python3.11/site-packages/sqlalchemy/orm/session.py", line 4480, in _flush
with util.safe_reraise():
File "/venv/lib/python3.11/site-packages/sqlalchemy/util/langhelpers.py", line 224, in __exit__
raise exc_value.with_traceback(exc_tb)
File "/venv/lib/python3.11/site-packages/sqlalchemy/orm/session.py", line 4441, in _flush
flush_context.execute()
File "/venv/lib/python3.11/site-packages/sqlalchemy/orm/unitofwork.py", line 466, in execute
rec.execute(self)
File "/venv/lib/python3.11/site-packages/sqlalchemy/orm/unitofwork.py", line 642, in execute
util.preloaded.orm_persistence.save_obj(
File "/venv/lib/python3.11/site-packages/sqlalchemy/orm/persistence.py", line 85, in save_obj
_emit_update_statements(
File "/venv/lib/python3.11/site-packages/sqlalchemy/orm/persistence.py", line 912, in _emit_update_statements
c = connection.execute(
^^^^^^^^^^^^^^^^^^^
File "/venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1415, in execute
return meth(
^^^^^
File "/venv/lib/python3.11/site-packages/sqlalchemy/sql/elements.py", line 523, in _execute_on_connection
return connection._execute_clauseelement(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1637, in _execute_clauseelement
ret = self._execute_context(
^^^^^^^^^^^^^^^^^^^^^^
File "/venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1842, in _execute_context
return self._exec_single_context(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1982, in _exec_single_context
self._handle_dbapi_exception(
File "/venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 2351, in _handle_dbapi_exception
raise sqlalchemy_exception.with_traceback(exc_info[2]) from e
File "/venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1963, in _exec_single_context
self.dialect.do_execute(
File "/venv/lib/python3.11/site-packages/sqlalchemy/engine/default.py", line 943, in do_execute
cursor.execute(statement, parameters)
File "/venv/lib/python3.11/site-packages/MySQLdb/cursors.py", line 179, in execute
res = self._query(mogrified_query)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/venv/lib/python3.11/site-packages/MySQLdb/cursors.py", line 330, in _query
db.query(q)
File "/venv/lib/python3.11/site-packages/MySQLdb/connections.py", line 280, in query
_mysql.connection.query(self, query)
sqlalchemy.exc.IntegrityError: (MySQLdb.IntegrityError) (1062, "Duplicate entry '3458027192104710309' for key 'tDataset.hash'")
[SQL: UPDATE `tDataset` SET hash=%s, value=%s, updated_at=CURRENT_TIMESTAMP, updated_by=%s WHERE `tDataset`.id = %s]
[parameters: (3458027192104710309, '[0.955335831988559, 0.7271120857539254]', 12965, 6358555)]
(Background on this error at: https://sqlalche.me/e/20/gkpj)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/venv/lib/python3.11/site-packages/spyne/application.py", line 173, in process_request
ctx.out_object = self.call_wrapper(ctx)
^^^^^^^^^^^^^^^^^^^^^^
File "/venv/lib/python3.11/site-packages/hydra_server/__init__.py", line 208, in call_wrapper
raise Fault('Server', e)
spyne.model.fault.Fault: Fault(Server: IntegrityError('(MySQLdb.IntegrityError) (1062, "Duplicate entry \'3458027192104710309\' for key \'tDataset.hash\'")'))
TypeError("'IntegrityError' object is not iterable")
Traceback (most recent call last):
File "/venv/lib/python3.11/site-packages/spyne/protocol/json.py", line 79, in default
return super(JsonEncoder, self).default(o)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/json/encoder.py", line 180, in default
raise TypeError(f'Object of type {o.__class__.__name__} '
TypeError: Object of type IntegrityError is not JSON serializable
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/venv/lib/python3.11/site-packages/cheroot/server.py", line 1291, in communicate
req.respond()
File "/venv/lib/python3.11/site-packages/cheroot/server.py", line 1081, in respond
self.server.gateway(self).respond()
File "/venv/lib/python3.11/site-packages/cheroot/wsgi.py", line 136, in respond
response = self.req.server.wsgi_app(self.env, self.start_response)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/venv/lib/python3.11/site-packages/beaker/middleware.py", line 156, in __call__
return self.wrap_app(environ, session_start_response)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/venv/lib/python3.11/site-packages/spyne/util/wsgi_wrapper.py", line 86, in __call__
return app(environ, start_response)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/venv/lib/python3.11/site-packages/spyne/server/wsgi.py", line 310, in __call__
return self.handle_rpc(req_env, start_response)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/venv/lib/python3.11/site-packages/spyne/server/wsgi.py", line 437, in handle_rpc
return self.handle_error(p_ctx, others, p_ctx.out_error,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/venv/lib/python3.11/site-packages/spyne/server/wsgi.py", line 394, in handle_error
p_ctx.out_string = list(p_ctx.out_string)
^^^^^^^^^^^^^^^^^^^^^^
File "/venv/lib/python3.11/site-packages/spyne/protocol/json.py", line 192, in <genexpr>
json.dumps(o, **self.kwargs).encode(out_string_encoding)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/json/__init__.py", line 238, in dumps
**kw).encode(obj)
^^^^^^^^^^^
File "/usr/local/lib/python3.11/json/encoder.py", line 200, in encode
chunks = self.iterencode(o, _one_shot=True)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/json/encoder.py", line 258, in iterencode
return _iterencode(o, 0)
^^^^^^^^^^^^^^^^^
File "/venv/lib/python3.11/site-packages/spyne/protocol/json.py", line 86, in default
return list(o)
^^^^^^^
TypeError: 'IntegrityError' object is not iterable
In hydra-pywr:
In hydra server:
[SQL: UPDATE `tDataset` SET hash=%s, value=%s, updated_at=CURRENT_TIMESTAMP, updated_by=%s WHERE `tDataset`.id = %s] [parameters: (3458027192104710309, '[0.955335831988559, 0.7271120857539254]', 12965, 6358555)] (Background on this error at: https://sqlalche.me/e/20/gkpj) 1 : 1 2025-12-10 12:49:57,798 - ERROR - Fault(Server: IntegrityError('(MySQLdb.IntegrityError) (1062, "Duplicate entry \'3458027192104710309\' for key \'tDataset.hash\'")')) Traceback (most recent call last): File "/venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1963, in _exec_single_context self.dialect.do_execute( File "/venv/lib/python3.11/site-packages/sqlalchemy/engine/default.py", line 943, in do_execute cursor.execute(statement, parameters) File "/venv/lib/python3.11/site-packages/MySQLdb/cursors.py", line 179, in execute res = self._query(mogrified_query) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/venv/lib/python3.11/site-packages/MySQLdb/cursors.py", line 330, in _query db.query(q) File "/venv/lib/python3.11/site-packages/MySQLdb/connections.py", line 280, in query _mysql.connection.query(self, query) MySQLdb.IntegrityError: (1062, "Duplicate entry '3458027192104710309' for key 'tDataset.hash'") The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/venv/lib/python3.11/site-packages/hydra_server/__init__.py", line 187, in call_wrapper res = ctx.service_class.call_wrapper(ctx) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/venv/lib/python3.11/site-packages/spyne/service.py", line 194, in call_wrapper return ctx.function(*args) ^^^^^^^^^^^^^^^^^^^ File "/venv/lib/python3.11/site-packages/hydra_server/server/scenario.py", line 270, in bulk_update_resourcedata scenario.bulk_update_resourcedata(scenario_ids, File "/venv/lib/python3.11/site-packages/hydra_base/util/permissions.py", line 98, in wrapped return wfunc(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^ File "/venv/lib/python3.11/site-packages/hydra_base/lib/scenario.py", line 986, in bulk_update_resourcedata updated_rs = _update_resourcescenario(scen_i, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/venv/lib/python3.11/site-packages/hydra_base/lib/scenario.py", line 1167, in _update_resourcescenario new_rscen_i = assign_value(r_scen_i, ^^^^^^^^^^^^^^^^^^^^^^ File "/venv/lib/python3.11/site-packages/hydra_base/util/permissions.py", line 98, in wrapped return wfunc(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^ File "/venv/lib/python3.11/site-packages/hydra_base/lib/scenario.py", line 1242, in assign_value db.DBSession.flush() File "/venv/lib/python3.11/site-packages/sqlalchemy/orm/scoping.py", line 938, in flush return self._proxied.flush(objects=objects) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/venv/lib/python3.11/site-packages/sqlalchemy/orm/session.py", line 4345, in flush self._flush(objects) File "/venv/lib/python3.11/site-packages/sqlalchemy/orm/session.py", line 4480, in _flush with util.safe_reraise(): File "/venv/lib/python3.11/site-packages/sqlalchemy/util/langhelpers.py", line 224, in __exit__ raise exc_value.with_traceback(exc_tb) File "/venv/lib/python3.11/site-packages/sqlalchemy/orm/session.py", line 4441, in _flush flush_context.execute() File "/venv/lib/python3.11/site-packages/sqlalchemy/orm/unitofwork.py", line 466, in execute rec.execute(self) File "/venv/lib/python3.11/site-packages/sqlalchemy/orm/unitofwork.py", line 642, in execute util.preloaded.orm_persistence.save_obj( File "/venv/lib/python3.11/site-packages/sqlalchemy/orm/persistence.py", line 85, in save_obj _emit_update_statements( File "/venv/lib/python3.11/site-packages/sqlalchemy/orm/persistence.py", line 912, in _emit_update_statements c = connection.execute( ^^^^^^^^^^^^^^^^^^^ File "/venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1415, in execute return meth( ^^^^^ File "/venv/lib/python3.11/site-packages/sqlalchemy/sql/elements.py", line 523, in _execute_on_connection return connection._execute_clauseelement( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1637, in _execute_clauseelement ret = self._execute_context( ^^^^^^^^^^^^^^^^^^^^^^ File "/venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1842, in _execute_context return self._exec_single_context( ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1982, in _exec_single_context self._handle_dbapi_exception( File "/venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 2351, in _handle_dbapi_exception raise sqlalchemy_exception.with_traceback(exc_info[2]) from e File "/venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1963, in _exec_single_context self.dialect.do_execute( File "/venv/lib/python3.11/site-packages/sqlalchemy/engine/default.py", line 943, in do_execute cursor.execute(statement, parameters) File "/venv/lib/python3.11/site-packages/MySQLdb/cursors.py", line 179, in execute res = self._query(mogrified_query) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/venv/lib/python3.11/site-packages/MySQLdb/cursors.py", line 330, in _query db.query(q) File "/venv/lib/python3.11/site-packages/MySQLdb/connections.py", line 280, in query _mysql.connection.query(self, query) sqlalchemy.exc.IntegrityError: (MySQLdb.IntegrityError) (1062, "Duplicate entry '3458027192104710309' for key 'tDataset.hash'") [SQL: UPDATE `tDataset` SET hash=%s, value=%s, updated_at=CURRENT_TIMESTAMP, updated_by=%s WHERE `tDataset`.id = %s] [parameters: (3458027192104710309, '[0.955335831988559, 0.7271120857539254]', 12965, 6358555)] (Background on this error at: https://sqlalche.me/e/20/gkpj) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/venv/lib/python3.11/site-packages/spyne/application.py", line 173, in process_request ctx.out_object = self.call_wrapper(ctx) ^^^^^^^^^^^^^^^^^^^^^^ File "/venv/lib/python3.11/site-packages/hydra_server/__init__.py", line 208, in call_wrapper raise Fault('Server', e) spyne.model.fault.Fault: Fault(Server: IntegrityError('(MySQLdb.IntegrityError) (1062, "Duplicate entry \'3458027192104710309\' for key \'tDataset.hash\'")')) TypeError("'IntegrityError' object is not iterable") Traceback (most recent call last): File "/venv/lib/python3.11/site-packages/spyne/protocol/json.py", line 79, in default return super(JsonEncoder, self).default(o) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/json/encoder.py", line 180, in default raise TypeError(f'Object of type {o.__class__.__name__} ' TypeError: Object of type IntegrityError is not JSON serializable During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/venv/lib/python3.11/site-packages/cheroot/server.py", line 1291, in communicate req.respond() File "/venv/lib/python3.11/site-packages/cheroot/server.py", line 1081, in respond self.server.gateway(self).respond() File "/venv/lib/python3.11/site-packages/cheroot/wsgi.py", line 136, in respond response = self.req.server.wsgi_app(self.env, self.start_response) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/venv/lib/python3.11/site-packages/beaker/middleware.py", line 156, in __call__ return self.wrap_app(environ, session_start_response) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/venv/lib/python3.11/site-packages/spyne/util/wsgi_wrapper.py", line 86, in __call__ return app(environ, start_response) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/venv/lib/python3.11/site-packages/spyne/server/wsgi.py", line 310, in __call__ return self.handle_rpc(req_env, start_response) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/venv/lib/python3.11/site-packages/spyne/server/wsgi.py", line 437, in handle_rpc return self.handle_error(p_ctx, others, p_ctx.out_error, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/venv/lib/python3.11/site-packages/spyne/server/wsgi.py", line 394, in handle_error p_ctx.out_string = list(p_ctx.out_string) ^^^^^^^^^^^^^^^^^^^^^^ File "/venv/lib/python3.11/site-packages/spyne/protocol/json.py", line 192, in <genexpr> json.dumps(o, **self.kwargs).encode(out_string_encoding) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/json/__init__.py", line 238, in dumps **kw).encode(obj) ^^^^^^^^^^^ File "/usr/local/lib/python3.11/json/encoder.py", line 200, in encode chunks = self.iterencode(o, _one_shot=True) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/json/encoder.py", line 258, in iterencode return _iterencode(o, 0) ^^^^^^^^^^^^^^^^^ File "/venv/lib/python3.11/site-packages/spyne/protocol/json.py", line 86, in default return list(o) ^^^^^^^ TypeError: 'IntegrityError' object is not iterable