RobertoLopes Posted August 11, 2020 Share Posted August 11, 2020 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 Quote Link to comment Share on other sites More sharing options...
Daniel Prado Posted August 12, 2020 Share Posted August 12, 2020 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)? Quote Link to comment Share on other sites More sharing options...
RobertoLopes Posted August 12, 2020 Author Share Posted August 12, 2020 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 ? Quote Link to comment Share on other sites More sharing options...
Daniel Prado Posted August 12, 2020 Share Posted August 12, 2020 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). Quote Link to comment Share on other sites More sharing options...
RobertoLopes Posted August 12, 2020 Author Share Posted August 12, 2020 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. Quote Link to comment Share on other sites More sharing options...
RobertoLopes Posted August 14, 2020 Author Share Posted August 14, 2020 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 ? 1 Quote Link to comment Share on other sites More sharing options...
Administrators Farshad Mohajeri Posted August 14, 2020 Administrators Share Posted August 14, 2020 Quote 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. Hi, How do you know session is not killed? Quote Link to comment Share on other sites More sharing options...
RobertoLopes Posted August 14, 2020 Author Share Posted August 14, 2020 11 minutes ago, Farshad Mohajeri said: Hi, How do you know session is not killed? 1) Hyperserver show the session on the sessions list 2) Sessions that have count greater than 1 are never recycled or updated Quote Link to comment Share on other sites More sharing options...
RobertoLopes Posted August 17, 2020 Author Share Posted August 17, 2020 Any clue ? Quote Link to comment Share on other sites More sharing options...
Administrators Farshad Mohajeri Posted August 17, 2020 Administrators Share Posted August 17, 2020 53 minutes ago, RobertoLopes said: Any clue ? I have no clue why your sessions are not freed automatically. In what way does this affect you? I ask this because I want to find a solution. Quote Link to comment Share on other sites More sharing options...
RobertoLopes Posted August 17, 2020 Author Share Posted August 17, 2020 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 Quote Link to comment Share on other sites More sharing options...
Administrators Farshad Mohajeri Posted August 18, 2020 Administrators Share Posted August 18, 2020 Can you please specify what is your: SessionTimeout AjaxTimeout Do you use a Timer to keep sessions alive? Quote Link to comment Share on other sites More sharing options...
RobertoLopes Posted August 20, 2020 Author Share Posted August 20, 2020 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. Quote Link to comment Share on other sites More sharing options...
MOGSY Posted August 20, 2020 Share Posted August 20, 2020 Hi Roberto, How do you do the socket events and what do you use? Quote Link to comment Share on other sites More sharing options...
Administrators Farshad Mohajeri Posted August 20, 2020 Administrators Share Posted August 20, 2020 8 hours ago, RobertoLopes said: 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. Is there any chance that the socket event will keep the session alive? Quote Link to comment Share on other sites More sharing options...
RobertoLopes Posted August 20, 2020 Author Share Posted August 20, 2020 3 hours ago, Farshad Mohajeri said: Is there any chance that the socket event will keep the session alive? I don't see it possible because when the user exit the system, the socket is closed. I don't see how a socket event can lock a session . It's on a different thread. Quote Link to comment Share on other sites More sharing options...
RobertoLopes Posted August 20, 2020 Author Share Posted August 20, 2020 3 hours ago, MOGSY said: Hi Roberto, How do you do the socket events and what do you use? The sockets are written in pure C++ using winsocks . Quote Link to comment Share on other sites More sharing options...
RobertoLopes Posted September 3, 2020 Author Share Posted September 3, 2020 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 ! Quote Link to comment Share on other sites More sharing options...
Administrators Farshad Mohajeri Posted September 3, 2020 Administrators Share Posted September 3, 2020 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. Quote Link to comment Share on other sites More sharing options...
RobertoLopes Posted September 3, 2020 Author Share Posted September 3, 2020 I can do that but, just so you know, I have over 50 customers on 5 different environments (all using IIS and Hyperserver 1535) and it happens on ALL of them. Quote Link to comment Share on other sites More sharing options...
aristeo Posted September 7, 2020 Share Posted September 7, 2020 We have same issue... Some sessions are blocked and remain open by Hyperserver. The sessions remains the connection to a firebird Server active, increasing the memory without free It, because the sessions don't close. It's a big problem for us Quote Link to comment Share on other sites More sharing options...
eduardosuruagy Posted September 8, 2020 Share Posted September 8, 2020 I use firebird and there is a client with 30 active connections to firebird, the problem is that he hardly uses the system. I'm using version 1535 with Hiper Server + IIS Quote Link to comment Share on other sites More sharing options...
Administrators Farshad Mohajeri Posted September 8, 2020 Administrators Share Posted September 8, 2020 2 minutes ago, eduardosuruagy said: I use firebird and there is a client with 30 active connections to firebird, the problem is that he hardly uses the system. I'm using version 1535 with Hiper Server + IIS Hi, How many sessions are opened in the hyperserver? Quote Link to comment Share on other sites More sharing options...
eduardosuruagy Posted September 8, 2020 Share Posted September 8, 2020 1 minute ago, Farshad Mohajeri said: Oi, Quantas sessões são abertas no hiperservidor? Sorry for my ignorance, but how do I see it? Quote Link to comment Share on other sites More sharing options...
Administrators Farshad Mohajeri Posted September 8, 2020 Administrators Share Posted September 8, 2020 1 minute ago, eduardosuruagy said: Sorry for my ignorance, but how do I see it? Please use Server Monitor for this: http://your_server_url/server Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.