Replication fails after upgrading to 25.04.2.1 [EFAULT] '<' not supported between instances of 'NoneType' and 'datetime.datetime'

Hello,
I’ve upgraded my 2 nas to 25.04.2.1 version, and now I’m unable to replicate the storage I use for applications (it’s called “fast” on both systems), locally nor remotely.
I’m able to replicate another storage without issue, but this one fails.
I’ve upgrade from a truecharts setup successfully and I also have tried to delete the old “ix-applications” dataset but the error persists:

[2025/08/25 17:53:05] ERROR [replication_task__task_1] [zettarepl.replication.run] For task ‘task_1’ unhandled replication error TypeError(“‘<’ not supported between instances of ‘datetime.datetime’ and ‘NoneType’”)
Traceback (most recent call last):
File “/usr/lib/python3/dist-packages/zettarepl/replication/run.py”, line 181, in run_replication_tasks
retry_contains_partially_complete_state(
File “/usr/lib/python3/dist-packages/zettarepl/replication/partially_complete_state.py”, line 16, in retry_contains_partially_complete_state
return func()
^^^^^^
File “/usr/lib/python3/dist-packages/zettarepl/replication/run.py”, line 182, in
lambda: run_replication_task_part(replication_task, source_dataset, src_context, dst_context,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
… 1 more lines …
pre_retention(src_context.context.now.replace(tzinfo=None), replication_task, src_context.datasets,
File “/usr/lib/python3/dist-packages/zettarepl/replication/pre_retention.py”, line 47, in pre_retention
RetentionBeforePushReplicationSnapshotOwner(target_dataset, now, replication_task, source_snapshots,
File “/usr/lib/python3/dist-packages/zettarepl/replication/pre_retention.py”, line 26, in init
incremental_base = get_parsed_incremental_base(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/lib/python3/dist-packages/zettarepl/replication/snapshots_to_send.py”, line 62, in get_parsed_incremental_base
return sorted(
^^^^^^^
TypeError: ‘<’ not supported between instances of ‘datetime.datetime’ and ‘NoneType’

This is the job setup


what can I do? thanks

1 Like

I think my issue is related to me wanting to replicate all snapshots so it doesn’t work if i use “." as a regular expression to match all of them.
If i go back to the standard settings “Marching naming schema” the replication works.
What is the recommended way to be sure to replicate all snapshots of a dataset? I tought I got this ".
” from the documentation but I can’t find any reference to it.
thanks

So, I just upgraded as well and get the same error.

I deleted the destination dataset and replicated from scratch and this initial replication worked. However, any subsequent replication fails with:

"'<' not supported between instances of 'NoneType' and 'datetime.datetime'")

What could be the cause?

I have the exact same issue. A replication task that was working fine started failing after an upgrade. Here is the full stack trace:

[2025/09/25 12:00:09] ERROR    [replication_task__task_12] [zettarepl.replication.run] For task 'task_12' unhandled replication error TypeError("'<' not supported between instances of 'NoneType' and 'datetime.datetime'")
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/zettarepl/replication/run.py", line 181, in run_replication_tasks
    retry_contains_partially_complete_state(
  File "/usr/lib/python3/dist-packages/zettarepl/replication/partially_complete_state.py", line 16, in retry_contains_partially_complete_state
    return func()
           ^^^^^^
  File "/usr/lib/python3/dist-packages/zettarepl/replication/run.py", line 182, in <lambda>
    lambda: run_replication_task_part(replication_task, source_dataset, src_context, dst_context,
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
... 1 more lines ...
    pre_retention(src_context.context.now.replace(tzinfo=None), replication_task, src_context.datasets,
  File "/usr/lib/python3/dist-packages/zettarepl/replication/pre_retention.py", line 47, in pre_retention
    RetentionBeforePushReplicationSnapshotOwner(target_dataset, now, replication_task, source_snapshots,
  File "/usr/lib/python3/dist-packages/zettarepl/replication/pre_retention.py", line 26, in __init__
    incremental_base = get_parsed_incremental_base(
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/zettarepl/replication/snapshots_to_send.py", line 62, in get_parsed_incremental_base
    return sorted(
           ^^^^^^^
TypeError: '<' not supported between instances of 'NoneType' and 'datetime.datetime'

Hopefully this will help to get a response and some assistance.

I managed to fix this by cleaning up old snapshots that didn’t follow the naming pattern of the automatic snapshot creation scheme.

Used to work just fine until the upgrade.

Hope you guys can unblock yourself as well by digging through the list of snapshots.

1 Like

Thanks for the update. I’ll try that since replicating to a new destination works the first time and then fails with that error again.

1 Like