Jump to content

Sessions blocked on the Hyperserver node from time to time


RobertoLopes

Recommended Posts

Hello

 

I am experiencing a little issue. 

 

I have some timers on my application and I assume something is not right.

From day to ay I got some sesions blocked on the Hyperserver node and when I got the connection log from the server I got this:

 

IrisClient.exe: 00001A88: 14:09:11 [10.20.16.176]:Sequence sent from cache:  SeqId: 20711
IrisClient.exe: 00000A5C: 14:22:29 [10.20.16.176]:Failed Sequence Recovery: SeqId: 21638, Event: timer, Status: 0, StatusText: "", TimedOut: false, cQs: f:{}, s:{}, a:{}, r:{}
IrisClient.exe: 00000A5C: 14:22:29 [10.20.16.176]:Sequence sent from cache:  SeqId: 21638
IrisClient.exe: 00000A5C: 14:22:29 [10.20.16.176]:Processed: Id: 21638, Evt: timer, [6_ZtqFGnugJY10695A019]
IrisClient.exe: 00001488: 14:34:06 [10.20.16.108]:Sequence sent from cache:  SeqId: 3496
IrisClient.exe: 00001350: 14:34:56 [10.20.16.176]:Sequence sent from cache:  SeqId: 22260
 

Anyone can tell me what is wrong ?

 

My timers are all with

ChainMode  = True

RunOnce = true (I reenable the timer on the event)

Sequenced = true (Maybe this is the cause. Do I need this to be true ? Whats the purpose of this property ? )

 

Thanks

 

Link to comment
Share on other sites

9 minutes ago, Daniel Prado said:

Hello.

It seens to be an dead session. Do any client of your app stay connected too long (like, more than half day with the browser open in your app)?

Yes. Most of them. 6 to 12 hours. 

Is there a problem or something I have to do in this case ?

 

If they are dead sessions why the OnDestroy or OnBrowserClosed events are not triggered ?

Link to comment
Share on other sites

Quote

Is there a problem or something I have to do in this case ?

Depend on how your web server treats a session. Because UniGUI's stateful nature, if Hyperserver kills the session, your client will no longer find the path back to server: this is a dead session - that never occur in stateless (common web) environment.

 

Quote

If they are dead sessions why the OnDestroy or OnBrowserClosed events are not triggered ?

Both events depend on the client sending an ajax request to server. A session kill is not this type of event cos has been done by server (check developer's console to see this events happening).

 

Can you say more about your environment? As example, my environment is a Windows Server + XAMPP, UniGUI as programa but receiving HTTP request by an redirector (ISAPI redir).

Link to comment
Share on other sites

The problem is not that the session is been killed. The sessions have already finished (user logged off) but the session is NOT been killed . That's te issue.

NO events triggered. Nothing.

The log I put on the topic shows something that I think maybe is the problem but I really don't know why a finished session remais on the hyperserver node forever.

Link to comment
Share on other sites

On 8/11/2020 at 6:32 PM, RobertoLopes said:

Hello

 

I am experiencing a little issue. 

 

I have some timers on my application and I assume something is not right.

From day to ay I got some sesions blocked on the Hyperserver node and when I got the connection log from the server I got this:

 

IrisClient.exe: 00001A88: 14:09:11 [10.20.16.176]:Sequence sent from cache:  SeqId: 20711
IrisClient.exe: 00000A5C: 14:22:29 [10.20.16.176]:Failed Sequence Recovery: SeqId: 21638, Event: timer, Status: 0, StatusText: "", TimedOut: false, cQs: f:{}, s:{}, a:{}, r:{}
IrisClient.exe: 00000A5C: 14:22:29 [10.20.16.176]:Sequence sent from cache:  SeqId: 21638
IrisClient.exe: 00000A5C: 14:22:29 [10.20.16.176]:Processed: Id: 21638, Evt: timer, [6_ZtqFGnugJY10695A019]
IrisClient.exe: 00001488: 14:34:06 [10.20.16.108]:Sequence sent from cache:  SeqId: 3496
IrisClient.exe: 00001350: 14:34:56 [10.20.16.176]:Sequence sent from cache:  SeqId: 22260
 

Anyone can tell me what is wrong ?

 

My timers are all with

ChainMode  = True

RunOnce = true (I reenable the timer on the event)

Sequenced = true (Maybe this is the cause. Do I need this to be true ? Whats the purpose of this property ? )

 

Thanks

 

Nothing ?

  • Upvote 1
Link to comment
Share on other sites

Well. I cannot make updates on our software because non empty sessions are never recycled. They keep going, using memory and processing power on the server forever unless I purge it, witch I cannot do because I don't know if there is actually a person logged on that session.

And the worst of all is that or system is licensed per user so, an unfinished session is a license in use.

If you tell me what should I enable to give you as much information and logs possible, I will do it immediately.

 

Thanks for your support

 

Link to comment
Share on other sites

On 8/18/2020 at 2:52 PM, Farshad Mohajeri said:

Can you please specify what is your:

SessionTimeout

AjaxTimeout

Do you use a  Timer to keep sessions alive?

 

My SessionTimeout is 300 seconds

My AjaxTimeout is 60 seconds

Yes I have several timers, all with runonce and chain properties on.

One of them is running every secon do update the screen with our socket events since that we cannot update direcly from the event function itself.

Link to comment
Share on other sites

  • 2 weeks later...
On 8/20/2020 at 4:58 PM, Farshad Mohajeri said:

Is there any chance that the socket event will keep the session alive?

Farshad. I really need some help here. It's becoming a huge problem.

Another information I need is how the new sessions are allocated on the nodes. It's suppose to be load balanced right ? Because if so, thats another issue. Yesterday I had 10 nodes, a single node had 50 sessions (my limit per node) and the other nine had 2-3 sessions each and the system was preventing new sessions altogether!!! Can you tell me why ?

Please help !

 

Link to comment
Share on other sites

  • Administrators
1 hour ago, RobertoLopes said:

Farshad. I really need some help here. It's becoming a huge problem.

Another information I need is how the new sessions are allocated on the nodes. It's suppose to be load balanced right ? Because if so, thats another issue. Yesterday I had 10 nodes, a single node had 50 sessions (my limit per node) and the other nine had 2-3 sessions each and the system was preventing new sessions altogether!!! Can you tell me why ?

Please help !

 

What you are experiencing is uncommon and never reported before.

HyperServer distributes Nodes among sessions in a balanced way.

You need to setup a simple test application in a new hyperserver in same environment and test it to see if anything changes.

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...