-
Notifications
You must be signed in to change notification settings - Fork 25
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
Fix problem with client RIDs being reused when more then 65536 records #38
Conversation
Copy+paste strikes again... I'll take a look. |
A couple of minor points. My build with stack-protector turned up a bug triggered by test code only (yes there is test code). mdavidsaver@5ba50bb This test code needs a corresponding change for the RIDs, which I had consistently wrong. 3a0bb2e Also, I made at attempt at travis-ci.org config, by copying another project, but I seem to have confused travis-ci by reusing the origin repo name for a fork, (oops I forgot). So I haven't checked this yet. Hopefully I haven't confused github as well 0ca8dc7 |
Bump @mdavidsaver What is needed to merge this PR? I have some server changes ready for a PR, but would prefer to have this merged first. |
Will you pull in the changes I mentioned previously to this branch/PR? |
Done. The changes to client/configure/RELEASE gave me problems in testing and I needed to revert it, is that correct? Looks like a development configuration. |
The newer convention is to ship Of course you can revert if you like. |
I support adopting better conventions, but I'm trying to understand my options. My goal is to have the package built from this repository be compatible with the other epics-base packages. If this was a standard package then I could patch in the RELEASE.local file, but since this is a native package that doesn't work. Another solution is to add the RELEASE.local file to the FRIB internal repository, but that doesn't help anyone else. Looks like I can either revert the file, or convert this to a standard Debian package. Any other ideas? |
For the package build, the answer is easy. Write https://github.com/epicsdeb/devlib2/blob/master/debian/rules#L9 |
That works! I've made the change. If it looks complete, please merge it. |
…ectory The error occurs because dh_install is called with the '--fail-missing' option
@mdavidsaver I found that I needed to remove RELEASE.local just before the dh_install command because the '--fail-missing' option is used. I noticed from the build log that EPICS Debhelp already cleans up the RELEASE file during dh_epics_postinstall:
Perhaps EPICS Debhelper should also remove RELEASE.local if it exists? |
The use of
htons
caused the RID to increment is steps of 65536 and as a resulted limited the number of unique RIDs to 65536. The problem can be masked if the server create small Transaction objects that contain less than 65536 records.This should explain at least some of the salability (#27) problems we have been seeing.
@mdavidsaver I tried to find all places where rid is assigned, but I would appreciate your review.