Skip to content
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(engine) isolate tenants when signals are thrown in multi-tenant context #207

Closed
wants to merge 6 commits into from
Closed

Conversation

janvladimirmostert
Copy link

Fix for CAM-5232

@saig0
Copy link
Member

saig0 commented Feb 29, 2016

Hi Jan,

thank you for your pull request. I looked at your changes and have to say that it doesn't pass all acceptance tests of CAM-5232, yet.

First, the thrown signal should trigger executions which have the same tenant-id or no tenant id. Currently, the signal only triggers executions with the same tenant-id.

Second, you adjusted the behavior of the intermediate event but forgot the end event. Both signal events should have the same behavior.

Additionally, please move the test methods to the test class MultiTenancySignalReceiveTest. This class contains all tests related to multi tenancy and signals. While moving your methods, you can adjust the tests a bit (e.g. no need for un-deploying) so that it align to the other tests in this class.

Stay tuned ;)

Greetings,
Philipp

@saig0 saig0 assigned saig0 and meyerdan and unassigned saig0 Feb 29, 2016
@janvladimirmostert
Copy link
Author

Thanks Philipp, I'll revisit tonight and fix the other cases as well.

Just to clarify, if I'm specifying a tenantId of X, it should be going to all tenants marked as X
If I'm specifying tenantId as null, it should go to all tenants with a tenantId of null.
If nothing is specified, should I treat it as if it's null or should I mark it as a special case and send it to all tenants? Currently treating it as if it's null and it's covered by the existing test cases.

Is there a tenantId range that I can expect? Or can it be anything from -infinity to +infinity?

Wasn't aware that end event got special treatment, will go hunting for it tonight and make it comply as well :-)

@saig0
Copy link
Member

saig0 commented Feb 29, 2016

Hi Jan,

when a signal is thrown from an execution which has a tenant-id 'x' then it should trigger all executions which have a tenant-id 'x' or no tenant-id. On the other hand, if the execution has no tenant-id, then the signal should only trigger executions which has no tenant-id.

Note that a tenant-id can be null (i.e. no tenant-id) or any string (max. 64 chars).

Do you have other questings?

Ok, waiting for your updates :)

@janvladimirmostert
Copy link
Author

Hi Philipp, I've changed the behaviour of the intermediate event as requested, I've also implemented the end event's behaviour in a similar way. Not sure if I've implemented the test cases for the end event correctly. I'll adjust the test cases to match the other test cases later today, didn't get time to complete that.

Kind Regards
Jan

@saig0
Copy link
Member

saig0 commented Mar 1, 2016

Hi Jan,

I added some comments where the implementation doesn't fit the requirements.

@meyerdan meyerdan closed this Mar 4, 2016
tmetzke pushed a commit that referenced this pull request Feb 13, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants