-
-
Notifications
You must be signed in to change notification settings - Fork 1.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Streams are not restored, consumers after failure in Docker Swarm [v2.10.20] #5876
Comments
We would want to check the meta layer storage. By default this is synched every 2m or so but is settable. If the system does not have a meta assignment on restart it will declare the asset as an orphan and remove the actual data for the stream. Can you confirm that after restart the data for the stream still seems present? |
@wallyqs "We would want to check the meta layer storage. By default this is synched every 2m or so but is settable." "If the system does not have a meta assignment on restart it will declare the asset as an orphan and remove the actual data for the stream." "Can you confirm that after restart the data for the stream still seems present?" |
Under the top level jetstream block in the server config it is e.g.
The meta layer information is stored on all servers, and can be found under the store directory.. e.g.
|
@wallyqs @derekcollison |
If I may ask, are you a Synadia customer? |
No. |
ok no worries, we always do our best to help out folks in the ecosystem with properly configuring systems for production use cases. Obviously we need to prioritize Synadia customers. |
Observed behavior
Hello! Docker image version: 2.10.18-alpine3.20
Client:
2.3.2
Nats JS runs in RAFT, has 3 services in docker swarm (not replicas) services with an enabled gateway to another stack, where there are also 3 services
Storage is mounted via volume.
`
volumes:
`
Each service has its own storage. All services run on one node. Streams and consumers have three replicas.
nats str add Stream\ --subjects "stream.in, stream.out" \ --ack --max-msgs=-1 \ --max-bytes=-1 \ --max-age=3d \ --storage file \ --retention work \ --max-msg-size=-1 \ --discard old \ --dupe-window="2h" \ --no-deny-purge \ --deny-delete \ --no-allow-rollup \ --max-msgs-per-subject=-1 \ --replicas 3
The power was recently cut off and after restoration, nats js does not see streams, consumers, messages, but they are present in the storage. Why did this happen and how to get the data back? They are physically present.
An example of a log in the attachment, it is the same on all 3 nodes, there is no hint for recovery or anything like that
natsjs_1.log
Configs:
natsbug.zip
Expected behavior
All data has been restored
Server and client version
Server:
Docker image 2.10.18-alpine3.20
Client:
Host environment
No response
Steps to reproduce
No response
The text was updated successfully, but these errors were encountered: