-
Notifications
You must be signed in to change notification settings - Fork 18
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
Liftbridge panics, as too many open files #83
Comments
Are those connections creating new streams? It sounds like potentially a large number of partitions are being created and the OS is hitting an open file limit. |
Multiple users are connecting to liftbridge, all user is having different stream name, Hence each user creates new stream. |
What operating system are you running Liftbridge on? |
Linux (Ubuntu) |
It sounds like you are hitting the open file limit due to the volume of streams/partitions being created. A couple things you can try are:
|
I tried the second approach which you provided.
Using this: Now Subscribe is getting all the data published to partition 1 for all Keys
Using this: In this case, as we are publishing using PartitionByKey, it can publish to any partition, but on subscribe side, checking only for partition 1. Expectations is: Publish: Subscribe: to lift.Partition(1) We want data for only specific key. Can we get that? |
As per this: liftbridge-io/liftbridge#81 But as per this doc "https://github.com/liftbridge-io/go-liftbridge" , Can you please tell where can I get the first syntax? |
If you are sharing messages amongst stream partitions, no. You would need to filter on the subscriber if you care only about certain keys. If you really need messages of the same key in their own streams then you will need a stream per key, but as I mentioned above, this isn't a common pattern for scalability reasons. If this is what you want, you will likely need to increase the open file limit in the OS.
Subscribing to a stream using a subject is not supported since |
Using liftbridge in my application.
Multiple user creates connection to liftbridge, and releasing connection when not used.
After around 330+ connection, liftbridge panics
Logs of liftbridge:
panic: failed to checkpoint high watermark: cannot create temp file: open /tmp/liftbridge/server/streams/sip:[email protected]/0/replication-offset-checkpoint302940319: too many open files
goroutine 796 [running]:
github.com/liftbridge-io/liftbridge/server/commitlog.(*commitLog).checkpointHWLoop(0xc000865d00)
/home/nagarm/Projects/go/pkg/mod/github.com/liftbridge-io/[email protected]/server/commitlog/commitlog.go:702 +0x282
created by github.com/liftbridge-io/liftbridge/server/commitlog.New
/home/nagarm/Projects/go/pkg/mod/github.com/liftbridge-io/[email protected]/server/commitlog/commitlog.go:144 +0x58a
nats-server -c ../configdata/nats-server.conf
The text was updated successfully, but these errors were encountered: