Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

Already on GitHub? Sign in to your account

When change from using scale-out to not use scale-out, cursors value could change unexpectedly which cause group not working anymore #2531

Closed
halter73 opened this Issue Sep 6, 2013 · 2 comments

Comments

Projects
None yet
3 participants
Member

halter73 commented Sep 6, 2013

Functional impact:
When change from using scale-out to not use scale-out, sometimes ( not always repro) cursor value could change unexpectedly to just one cursor for not using scale-out.
Then this will cause group not working anymore, the client will still receive group message even it is already removed from the group.

Repro:
1). use the asp.net Raw connection API sample to repro
2). use ServiceBus scale-out in sample, e,g,
. in the asp.net sample Startup, add:

string SBConnectionString = "......";
GlobalHost.DependencyResolver.UseServiceBus(new ServiceBusScaleoutConfiguration(SBConnectionString, "test") {  TopicCount = 2 });

3). build app, request Raw/Default.aspx page, click to join group for a specified group
4). comment out /remove the code for using scale-out in step 2)
5). re-build app
6). clients will reconnect
7). sometimes cursor could change unexpectly to just one cursor for not using scale-out, e.g. repro we saw: messageId=B%2C18

here is the client log:
.......
[16:53:13 PDT] SignalR: webSockets reconnecting
[16:53:13 PDT] SignalR: Connecting to websocket endpoint 'ws://localhost:55735/raw-connection/reconnect?transport=webSockets&connectionToken=naUeHvcNWDbvOlBwhKAuRY55lnSbM7Ziv-NpA2gnC3ySstXN9G4A5L7KVjvRItoX1S5wNsl6c00FtX4AWxPKRTKP_glbbozR0o3Bm_lg_gItugkQ77ubrKzXIb441Yr-0&groupsToken=b4QOROYkf4Trt9kP-Fdx39-nBAs6NrXXNoqz_YsxSm6SQSip_BzIED44r98kQ0sbPebgNlFhxaZ5OifLDrUxyX9DH4MY2-W8ctAxkDL_rmOpYMQazOCb_k6txss2KvEsytEdr594FoGlxYBH7Po-OOelsuT2hJQtPB-GBhMhxr_KEEmI9CyFRNHKp29QHmaVSoHlUj2VWGeIwb7kFvZQRrJ7lP_31I1IUJxg64cko4NFasUFdy0T1xtXuOXNzDDAYJZ0mPjwKXUawE5WDAqrZA2&messageId=B%2C18&%3Fq%2B%2B%3D=%2B%2B111&q2=222&tid=4'
[16:53:14 PDT] SignalR: Websocket opened
......

8). on the client click "Leave Group" for the specified group
9). send message to the specified group, the client still received the group message

Expected result:
cursors value should not change to one cursor when not using scale-out,
the client should not receive the group message after it is removed from the group

Actual result:
cursors value was changed unexpectedly to one cursor when not using scale-out,
the client still received the group message after removed from the group

#2061

Member

halter73 commented Sep 9, 2013

Fixed by 26c1024 and 2a0a025

Contributor

Xiaohongt commented Oct 1, 2013

verified clients can receive messages from group etc when change from scale-out to default or vice verse.

@Xiaohongt Xiaohongt closed this Oct 1, 2013

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment