1
24.1 Legacy Series / A rather trivial upgrade error
« on: February 29, 2024, 10:12:08 pm »
My upgrade to 24 was briefly blocked today by the error below. I don't normally use Unbound since I'm used to DNSmasq. Apparently unbound's database was too far out of date to upgrade, I just turned Unbound on, upgraded and then turned it off again. Everything seems fine now.
If this isn't the proper place for this message feel free to move or delete it.
Let me know if any more information is wanted.
John
------------------------------------------------------------
***GOT REQUEST TO UPGRADE***
Currently running OPNsense 23.7.12_5 at Thu Feb 29 15:05:17 EST 2024
Fetching packages-24.1-amd64.tar: ..................................... done
Fetching base-24.1-amd64.txz: ......... done
Fetching kernel-24.1-amd64.txz: ...... done
Extracting packages-24.1-amd64.tar... done
Extracting base-24.1-amd64.txz... done
Extracting kernel-24.1-amd64.txz... done
Please reboot.
>>> Invoking upgrade script 'squid-plugin.php'
Squid web proxy is not active. Not installing replacement plugin.
>>> Invoking upgrade script 'unbound-duckdb.py'
Traceback (most recent call last):
File "/usr/local/opnsense/site-python/duckdb_helper.py", line 65, in __enter__
self.connection = duckdb.connect(database=self._path, read_only=self._read_only)
duckdb.IOException: IO Error: Trying to read a database file with version number 39, but we can only read version 51.
The database file was created with DuckDB version v0.6.0 or v0.6.1.
The storage of DuckDB is not yet stable; newer versions of DuckDB cannot read old database files and vice versa.
The storage will be stabilized when version 1.0 releases.
For now, we recommend that you load the database file in a supported version of DuckDB, and use the EXPORT DATABASE command followed by IMPORT DATABASE on the current version of DuckDB.
See the storage page for more information: https://duckdb.org/internals/storage
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/etc/rc.syshook.d/upgrade/20-unbound-duckdb.py", line 41, in <module>
if export_database('/var/unbound/data/unbound.duckdb', '/var/cache/unbound.duckdb', 'unbound', 'unbound'):
File "/usr/local/opnsense/site-python/duckdb_helper.py", line 147, in export_database
with DbConnection(source, read_only=True) as db:
File "/usr/local/opnsense/site-python/duckdb_helper.py", line 75, in __enter__
raise StorageVersionException(str(e))
duckdb_helper.StorageVersionException: IO Error: Trying to read a database file with version number 39, but we can only read version 51.
The database file was created with DuckDB version v0.6.0 or v0.6.1.
The storage of DuckDB is not yet stable; newer versions of DuckDB cannot read old database files and vice versa.
The storage will be stabilized when version 1.0 releases.
For now, we recommend that you load the database file in a supported version of DuckDB, and use the EXPORT DATABASE command followed by IMPORT DATABASE on the current version of DuckDB.
See the storage page for more information: https://duckdb.org/internals/storage
>>> Error in upgrade script '20-unbound-duckdb.py'
***DONE***
If this isn't the proper place for this message feel free to move or delete it.
Let me know if any more information is wanted.
John
------------------------------------------------------------
***GOT REQUEST TO UPGRADE***
Currently running OPNsense 23.7.12_5 at Thu Feb 29 15:05:17 EST 2024
Fetching packages-24.1-amd64.tar: ..................................... done
Fetching base-24.1-amd64.txz: ......... done
Fetching kernel-24.1-amd64.txz: ...... done
Extracting packages-24.1-amd64.tar... done
Extracting base-24.1-amd64.txz... done
Extracting kernel-24.1-amd64.txz... done
Please reboot.
>>> Invoking upgrade script 'squid-plugin.php'
Squid web proxy is not active. Not installing replacement plugin.
>>> Invoking upgrade script 'unbound-duckdb.py'
Traceback (most recent call last):
File "/usr/local/opnsense/site-python/duckdb_helper.py", line 65, in __enter__
self.connection = duckdb.connect(database=self._path, read_only=self._read_only)
duckdb.IOException: IO Error: Trying to read a database file with version number 39, but we can only read version 51.
The database file was created with DuckDB version v0.6.0 or v0.6.1.
The storage of DuckDB is not yet stable; newer versions of DuckDB cannot read old database files and vice versa.
The storage will be stabilized when version 1.0 releases.
For now, we recommend that you load the database file in a supported version of DuckDB, and use the EXPORT DATABASE command followed by IMPORT DATABASE on the current version of DuckDB.
See the storage page for more information: https://duckdb.org/internals/storage
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/etc/rc.syshook.d/upgrade/20-unbound-duckdb.py", line 41, in <module>
if export_database('/var/unbound/data/unbound.duckdb', '/var/cache/unbound.duckdb', 'unbound', 'unbound'):
File "/usr/local/opnsense/site-python/duckdb_helper.py", line 147, in export_database
with DbConnection(source, read_only=True) as db:
File "/usr/local/opnsense/site-python/duckdb_helper.py", line 75, in __enter__
raise StorageVersionException(str(e))
duckdb_helper.StorageVersionException: IO Error: Trying to read a database file with version number 39, but we can only read version 51.
The database file was created with DuckDB version v0.6.0 or v0.6.1.
The storage of DuckDB is not yet stable; newer versions of DuckDB cannot read old database files and vice versa.
The storage will be stabilized when version 1.0 releases.
For now, we recommend that you load the database file in a supported version of DuckDB, and use the EXPORT DATABASE command followed by IMPORT DATABASE on the current version of DuckDB.
See the storage page for more information: https://duckdb.org/internals/storage
>>> Error in upgrade script '20-unbound-duckdb.py'
***DONE***