how to achieve timeout for get/put/remove operations

classic Classic list List threaded Threaded
8 messages Options
Kamlesh Joshi Kamlesh Joshi
Reply | Threaded
Open this post in threaded view
|

how to achieve timeout for get/put/remove operations

Hi Igniters,

 

How to achieve/get timeout error for particular operation (get/put/remove), if it crosses certain timeout value then I can take certain action based on that. Is there any Ignite API readily available for this?

 

Any pointers would be helpful !

 

 

Thanks and Regards,

Kamlesh Joshi

 


"Confidentiality Warning: This message and any attachments are intended only for the use of the intended recipient(s), are confidential and may be privileged. If you are not the intended recipient, you are hereby notified that any review, re-transmission, conversion to hard copy, copying, circulation or other use of this message and any attachments is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return email and delete this message and any attachments from your system.

Virus Warning: Although the company has taken reasonable precautions to ensure no viruses are present in this email. The company cannot accept responsibility for any loss or damage arising from the use of this email or attachment."

ilya.kasnacheev ilya.kasnacheev
Reply | Threaded
Open this post in threaded view
|

Re: how to achieve timeout for get/put/remove operations

Hello!

You can use e.g. putAsync() and then wait on the future for the specified time only. If it did not complete, take your actions.

Regards,
--
Ilya Kasnacheev


вт, 22 сент. 2020 г. в 14:27, Kamlesh Joshi <[hidden email]>:

Hi Igniters,

 

How to achieve/get timeout error for particular operation (get/put/remove), if it crosses certain timeout value then I can take certain action based on that. Is there any Ignite API readily available for this?

 

Any pointers would be helpful !

 

 

Thanks and Regards,

Kamlesh Joshi

 


"Confidentiality Warning: This message and any attachments are intended only for the use of the intended recipient(s), are confidential and may be privileged. If you are not the intended recipient, you are hereby notified that any review, re-transmission, conversion to hard copy, copying, circulation or other use of this message and any attachments is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return email and delete this message and any attachments from your system.

Virus Warning: Although the company has taken reasonable precautions to ensure no viruses are present in this email. The company cannot accept responsibility for any loss or damage arising from the use of this email or attachment."

Kamlesh Joshi Kamlesh Joshi
Reply | Threaded
Open this post in threaded view
|

RE: [External]Re: how to achieve timeout for get/put/remove operations

Thanks ilya. Does that mean, we have to specifically maintain a time counter and act accordingly on it?

 

I was hoping, if there is any API where we could just pass timeout value as well, as a parameter and Ignite would handle internally.

 

Thanks and Regards,

Kamlesh Joshi

 

From: Ilya Kasnacheev <[hidden email]>
Sent: 22 September 2020 17:10
To: [hidden email]
Subject: [External]Re: how to achieve timeout for get/put/remove operations

 

The e-mail below is from an external source. Please do not open attachments or click links from an unknown or suspicious origin.

Hello!

 

You can use e.g. putAsync() and then wait on the future for the specified time only. If it did not complete, take your actions.

 

Regards,

--

Ilya Kasnacheev

 

 

вт, 22 сент. 2020 г. в 14:27, Kamlesh Joshi <[hidden email]>:

Hi Igniters,

 

How to achieve/get timeout error for particular operation (get/put/remove), if it crosses certain timeout value then I can take certain action based on that. Is there any Ignite API readily available for this?

 

Any pointers would be helpful !

 

 

Thanks and Regards,

Kamlesh Joshi

 


"Confidentiality Warning: This message and any attachments are intended only for the use of the intended recipient(s), are confidential and may be privileged. If you are not the intended recipient, you are hereby notified that any review, re-transmission, conversion to hard copy, copying, circulation or other use of this message and any attachments is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return email and delete this message and any attachments from your system.

Virus Warning: Although the company has taken reasonable precautions to ensure no viruses are present in this email. The company cannot accept responsibility for any loss or damage arising from the use of this email or attachment."


"Confidentiality Warning: This message and any attachments are intended only for the use of the intended recipient(s), are confidential and may be privileged. If you are not the intended recipient, you are hereby notified that any review, re-transmission, conversion to hard copy, copying, circulation or other use of this message and any attachments is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return email and delete this message and any attachments from your system.

Virus Warning: Although the company has taken reasonable precautions to ensure no viruses are present in this email. The company cannot accept responsibility for any loss or damage arising from the use of this email or attachment."

stephendarlington stephendarlington
Reply | Threaded
Open this post in threaded view
|

Re: [External]Re: how to achieve timeout for get/put/remove operations

Are you actually experiencing this problem? Or is this theoretical? 

As Ilya says, there’s no built-in timeouts for basic operations like get/put but then, if they take very long Something Bad likely has happened.

There are timeouts available for operations that can take a long time. For example, methods in Transaction and IgniteLock both have timeouts.

Regards,
Stephen

On 22 Sep 2020, at 13:30, Kamlesh Joshi <[hidden email]> wrote:

Thanks ilya. Does that mean, we have to specifically maintain a time counter and act accordingly on it?
 
I was hoping, if there is any API where we could just pass timeout value as well, as a parameter and Ignite would handle internally.
 
Thanks and Regards,
Kamlesh Joshi
 
From: Ilya Kasnacheev <[hidden email]> 
Sent: 22 September 2020 17:10
To: [hidden email]
Subject: [External]Re: how to achieve timeout for get/put/remove operations
 

The e-mail below is from an external source. Please do not open attachments or click links from an unknown or suspicious origin.

Hello!
 
You can use e.g. putAsync() and then wait on the future for the specified time only. If it did not complete, take your actions.
 
Regards,
-- 
Ilya Kasnacheev
 
 
вт, 22 сент. 2020 г. в 14:27, Kamlesh Joshi <[hidden email]>:
Hi Igniters,
 
How to achieve/get timeout error for particular operation (get/put/remove), if it crosses certain timeout value then I can take certain action based on that. Is there any Ignite API readily available for this?
 
Any pointers would be helpful !
 
 
Thanks and Regards,
Kamlesh Joshi
 
Kamlesh Joshi Kamlesh Joshi
Reply | Threaded
Open this post in threaded view
|

RE: [External]Re: how to achieve timeout for get/put/remove operations

Hi Stephen,

 

Earlier we faced issues, where cluster got completely frozen and due to some issues (may be one node failed) it took lot of time to respond (all the read requests were piled up). So, we are trying to build a solution around this problem.

 

To conclude this, we might have to maintain our own timeouts and use getAsync API that is the only way we can achieve this (as we are not using any transactions).

 

Thanks and Regards,

Kamlesh Joshi

 

From: Stephen Darlington <[hidden email]>
Sent: 22 September 2020 18:11
To: [hidden email]
Subject: Re: [External]Re: how to achieve timeout for get/put/remove operations

 

The e-mail below is from an external source. Please do not open attachments or click links from an unknown or suspicious origin.


Are you actually experiencing this problem? Or is this theoretical? 

 

As Ilya says, there’s no built-in timeouts for basic operations like get/put but then, if they take very long Something Bad likely has happened.

 

There are timeouts available for operations that can take a long time. For example, methods in Transaction and IgniteLock both have timeouts.

 

Regards,

Stephen



On 22 Sep 2020, at 13:30, Kamlesh Joshi <[hidden email]> wrote:

 

Thanks ilya. Does that mean, we have to specifically maintain a time counter and act accordingly on it?

 

I was hoping, if there is any API where we could just pass timeout value as well, as a parameter and Ignite would handle internally.

 

Thanks and Regards,

Kamlesh Joshi

 

From: Ilya Kasnacheev <[hidden email]> 
Sent: 22 September 2020 17:10
To: [hidden email]
Subject: [External]Re: how to achieve timeout for get/put/remove operations

 

The e-mail below is from an external source. Please do not open attachments or click links from an unknown or suspicious origin.

Hello!

 

You can use e.g. putAsync() and then wait on the future for the specified time only. If it did not complete, take your actions.

 

Regards,

-- 

Ilya Kasnacheev

 

 

вт, 22 сент. 2020 г. в 14:27, Kamlesh Joshi <[hidden email]>:

Hi Igniters,

 

How to achieve/get timeout error for particular operation (get/put/remove), if it crosses certain timeout value then I can take certain action based on that. Is there any Ignite API readily available for this?

 

Any pointers would be helpful !

 

 

Thanks and Regards,

Kamlesh Joshi

 


"Confidentiality Warning: This message and any attachments are intended only for the use of the intended recipient(s), are confidential and may be privileged. If you are not the intended recipient, you are hereby notified that any review, re-transmission, conversion to hard copy, copying, circulation or other use of this message and any attachments is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return email and delete this message and any attachments from your system.

Virus Warning: Although the company has taken reasonable precautions to ensure no viruses are present in this email. The company cannot accept responsibility for any loss or damage arising from the use of this email or attachment."

ilya.kasnacheev ilya.kasnacheev
Reply | Threaded
Open this post in threaded view
|

Re: [External]Re: how to achieve timeout for get/put/remove operations

In reply to this post by Kamlesh Joshi
Hello!

Futures will accept a timeout value in their get() method and will only wait for that timeout, you do not have to count milliseconds by hand.

Regards,
--
Ilya Kasnacheev


вт, 22 сент. 2020 г. в 15:31, Kamlesh Joshi <[hidden email]>:

Thanks ilya. Does that mean, we have to specifically maintain a time counter and act accordingly on it?

 

I was hoping, if there is any API where we could just pass timeout value as well, as a parameter and Ignite would handle internally.

 

Thanks and Regards,

Kamlesh Joshi

 

From: Ilya Kasnacheev <[hidden email]>
Sent: 22 September 2020 17:10
To: [hidden email]
Subject: [External]Re: how to achieve timeout for get/put/remove operations

 

The e-mail below is from an external source. Please do not open attachments or click links from an unknown or suspicious origin.

Hello!

 

You can use e.g. putAsync() and then wait on the future for the specified time only. If it did not complete, take your actions.

 

Regards,

--

Ilya Kasnacheev

 

 

вт, 22 сент. 2020 г. в 14:27, Kamlesh Joshi <[hidden email]>:

Hi Igniters,

 

How to achieve/get timeout error for particular operation (get/put/remove), if it crosses certain timeout value then I can take certain action based on that. Is there any Ignite API readily available for this?

 

Any pointers would be helpful !

 

 

Thanks and Regards,

Kamlesh Joshi

 


"Confidentiality Warning: This message and any attachments are intended only for the use of the intended recipient(s), are confidential and may be privileged. If you are not the intended recipient, you are hereby notified that any review, re-transmission, conversion to hard copy, copying, circulation or other use of this message and any attachments is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return email and delete this message and any attachments from your system.

Virus Warning: Although the company has taken reasonable precautions to ensure no viruses are present in this email. The company cannot accept responsibility for any loss or damage arising from the use of this email or attachment."


"Confidentiality Warning: This message and any attachments are intended only for the use of the intended recipient(s), are confidential and may be privileged. If you are not the intended recipient, you are hereby notified that any review, re-transmission, conversion to hard copy, copying, circulation or other use of this message and any attachments is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return email and delete this message and any attachments from your system.

Virus Warning: Although the company has taken reasonable precautions to ensure no viruses are present in this email. The company cannot accept responsibility for any loss or damage arising from the use of this email or attachment."

AravindJP AravindJP
Reply | Threaded
Open this post in threaded view
|

RE: [External]Re: how to achieve timeout for get/put/remove operations

In reply to this post by Kamlesh Joshi
We are also facing a similar issue where complete cluster behaves like frozen
with cache get time > 200 ms , unable to figure out the root cause . I was
expecting that ClientConfiguration.setTimeout() will work for get read
timeout



--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/
ilya.kasnacheev ilya.kasnacheev
Reply | Threaded
Open this post in threaded view
|

Re: [External]Re: how to achieve timeout for get/put/remove operations

Hello!

You can use it if you're using thin client, sure. I was writing on the thick client operation.

Regards,
--
Ilya Kasnacheev


пн, 28 сент. 2020 г. в 16:07, AravindJP <[hidden email]>:
We are also facing a similar issue where complete cluster behaves like frozen
with cache get time > 200 ms , unable to figure out the root cause . I was
expecting that ClientConfiguration.setTimeout() will work for get read
timeout



--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/