[Tarantool-patches] [PATCH] Fix take a task after disconnect

Leonid Vasiliev lvasiliev at tarantool.org
Mon Dec 16 12:01:01 MSK 2019


Update:
---
--- a/queue/abstract.lua
+++ b/queue/abstract.lua
@@ -96,6 +96,8 @@ function tube.take(self, timeout)

          if session.exists(sid) then
              task = self.raw:take()
+        else
+            return nil
          end

          if task ~= nil then

On 12/16/19 11:33 AM, Leonid Vasiliev wrote:
> https://github.com/tarantool/queue/issues/104
> https://github.com/tarantool/queue/tree/lvasiliev/gh-queue-104-take-task-after-disconnect
> 
> ---
>   queue/abstract.lua | 4 +++-
>   1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/queue/abstract.lua b/queue/abstract.lua
> index ad8817d..e5cfa39 100644
> --- a/queue/abstract.lua
> +++ b/queue/abstract.lua
> @@ -94,7 +94,9 @@ function tube.take(self, timeout)
>           conds[fid]:free()
>           box.space._queue_consumers:delete{ sid, fid }
>   
> -        task = self.raw:take()
> +        if session.exists(sid) then
> +            task = self.raw:take()
> +        end
>   
>           if task ~= nil then
>               return self.raw:normalize_task(task)
> 


More information about the Tarantool-patches mailing list