-
-
Notifications
You must be signed in to change notification settings - Fork 23
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
chore: update deps cached-persistence 9.0.0, tape 5.5.3, ioredis 5.0.5 #96
chore: update deps cached-persistence 9.0.0, tape 5.5.3, ioredis 5.0.5 #96
Conversation
Btw: this is why I proposed a different class layering ;-) |
I will check tonight why the tests failed :-( |
For sure it's a missing open handler (like redis connection not closed). May be a change introduced in latest tape version that wasn't catching them previously 🤷🏼♂️ I usually use wtfnode to debug such errors |
I know but it looks correct to me, if aedes-cached-persistence is updated in a way that is breaking other persistences you must for sure also update them, how would you implement it ? |
May also be worth adding a max time to CI task to prevent such errors, I think 2/3 minutes are enough |
If they both depend on the same
|
Let's close this first then if you want you will show me that in a PR :) |
Small update: I got most of the issues sorted :-) The only challenge I still have is this test: It does add 32 packets, it claims to delete all 32 but in the third round it still finds one packet ! I have put the PR in draft mode for now and will mark it ready for review as soon as I have solved this last bug. Kind regards, |
Found the issue ! aedes-persistence-redis/persistence.js Line 270 in b8b534a
Fixed in ae13de6 One last question:should we encode the clientId here as well to avoid issues with client ID's with semicolons in them ? Kind regards, |
And one more thing ;-) If people use this persistence layer in a production like situation then they can't just zap the redis cache and start anew because they would loose their retained messages and the stored subscriptions of existing clients. Therefore 3 questions, should we:
Maybe I'm over cautious, but it would be a bit embarrasing if we make it to Slashdot because of this change ;-) Kind regards, |
Ops, didn't know that was used outside cached persistence, I changed it to make it easier to use.
I think it makes sense yeah
I think that a warn in the readme or an upgrading guide would be good. For all my use cases of aedes I cannot think about one where a change like this could break things. Retained packets are not a problem as a client should send it's state once it connects to broker so them will be restored immediatly after the persistence is bumped and the app restarted, same for subscriptions etc... Could be a bit annoying but not breaking, a warn IMO would be enough expecially if we add it to the major release note (everyone should read them expecially for majors) |
Working on it
Ok,I'll try to put a warning in the README |
Should be complete now. Kind regards, |
As requested in #95 (comment)
Kind regards,
Hans