I’m having an issue with Fuseki where, once the first request is submitted, the 
server never returns a response and never returns any responses for subsequent 
requests either. The server also starts increasing its memory usage quite 
significantly until it finally runs out of memory, a GC occurs, and the whole 
process starts over with the next request. In looking at the logs, I found that 
the log output at the bottom of this message repeated every 30 seconds or so 
(the default jetty timeout time period). Even while completely “idle”, this 
same output would spit out like clockwork, indefinitely. The only thing that I 
can do to stop it is to stop the server. This has made it so that I cannot 
query anything from my dataset. The only change that has occurred is the size 
of the dataset…which makes sense as it now takes longer to load into memory, 
thus suddenly going over the timeout limit.

Is this a bug? I would expect at least the request to fail with a timeout 
status if something like this were to occur.

I’m using RDF-Delta’s embedded Fuseki, 6GB of RAM, TDB2, running in a Docker 
container.

LOGS (formatted for readability):

[Connector-Scheduler-7ac48e10-1-23] org.eclipse.jetty.io.IdleTimeout :
  SocketChannelEndPoint@114206bf{
    l=/172.18.0.2:3043,
    r=/172.18.0.1:60440,
    OPEN,
    fill=-,
    flush=-,
    to=30001/30000
  }
  { io=0/0, kio=0, kro=1 }->
  SslConnection@3e970f93{
    NOT_HANDSHAKING,
    eio=-1/-1,
    di=-1,
    fill=IDLE,
    flush=IDLE
  }~>
  DecryptedEndPoint@5fce624a{
    l=/172.18.0.2:3043,
    r=/172.18.0.1:60440,
    OPEN,
    fill=-,
    flush=-,
    to=330537/30000
  }=>
  HttpConnection@6f2ce996[
    p=HttpParser{ s=END, 271 of 271 },
    g=HttpGenerator@12e7e639{ s=START }
  ]=>
  HttpChannelOverHttp@1bba6dcf{
    s=HttpChannelState@5eb8f0dc{
      s=HANDLING
      rs=BLOCKING
      os=OPEN
      is=READY
      awp=false
      se=false
      i=true
      al=0
    },
    r=1,
    c=false/false,
    a=HANDLING,
    uri=https://localhost:3043/rdf,
    age=330183
  }
  idle timeout check, elapsed: 30000 ms, remaining: 0 ms

[Connector-Scheduler-7ac48e10-1-23] org.eclipse.jetty.io.IdleTimeout :
  SocketChannelEndPoint@114206bf{
    l=/172.18.0.2:3043,
    r=/172.18.0.1:60440,
    OPEN,
    fill=-,
    flush=-,
    to=30002/30000
  }
  { io=0/0, kio=0, kro=1 }->
  SslConnection@3e970f93{
    NOT_HANDSHAKING,
    eio=-1/-1,
    di=-1,
    fill=IDLE,
    flush=IDLE
  }~>
  DecryptedEndPoint@5fce624a{
    l=/172.18.0.2:3043,
    r=/172.18.0.1:60440,
    OPEN,
    fill=-,
    flush=-,
    to=330538/30000
  }=>
  HttpConnection@6f2ce996[
    p=HttpParser{ s=END, 271 of 271 },
    g=HttpGenerator@12e7e639{ s=START }
  ]=>
  HttpChannelOverHttp@1bba6dcf{
    s=HttpChannelState@5eb8f0dc{
      s=HANDLING
      rs=BLOCKING
      os=OPEN
      is=READY
      awp=false
      se=false
      i=true
      al=0
    },
    r=1,
    c=false/false,
    a=HANDLING,
    uri=https://localhost:3043/rdf,
    age=330184
  }
  idle timeout expired

[Connector-Scheduler-7ac48e10-1-23] org.eclipse.jetty.io.FillInterest : onFail 
FillInterest@3cb42e3f{null}

java.util.concurrent.TimeoutException: Idle timeout expired: 30000/30000 ms
    at org.eclipse.jetty.io.IdleTimeout.checkIdleTimeout(IdleTimeout.java:171) 
~[delta-server.jar:?]
    at org.eclipse.jetty.io.IdleTimeout.idleCheck(IdleTimeout.java:113) 
~[delta-server.jar:?]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) 
[?:?]
    at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
    at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
 [?:?]
    at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) 
[?:?]
    at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) 
[?:?]
    at java.lang.Thread.run(Thread.java:834) [?:?]

[Connector-Scheduler-7ac48e10-1-23] org.eclipse.jetty.io.WriteFlusher : 
ignored: WriteFlusher@7186c8ca{IDLE}->null

java.util.concurrent.TimeoutException: Idle timeout expired: 30000/30000 ms
    at org.eclipse.jetty.io.IdleTimeout.checkIdleTimeout(IdleTimeout.java:171) 
~[delta-server.jar:?]
    at org.eclipse.jetty.io.IdleTimeout.idleCheck(IdleTimeout.java:113) 
~[delta-server.jar:?]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) 
[?:?]
    at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
    at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
 [?:?]
    at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) 
[?:?]
    at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) 
[?:?]
    at java.lang.Thread.run(Thread.java:834) [?:?]

[Connector-Scheduler-7ac48e10-1-23] org.eclipse.jetty.io.AbstractEndPoint :
  Ignored idle endpoint SocketChannelEndPoint@114206bf{
    l=/172.18.0.2:3043,
    r=/172.18.0.1:60440,
    OPEN,
    fill=-,
    flush=-,
    to=30011/30000
  }
  { io=0/0, kio=0, kro=1 }->
  SslConnection@3e970f93{
    NOT_HANDSHAKING,
    eio=-1/-1,
    di=-1,
    fill=IDLE,
    flush=IDLE
  }~>
  DecryptedEndPoint@5fce624a{
    l=/172.18.0.2:3043,
    r=/172.18.0.1:60440,
    OPEN,
    fill=-,
    flush=-,
    to=330548/30000
  }=>
  HttpConnection@6f2ce996[
    p=HttpParser{ s=END, 271 of 271 },
    g=HttpGenerator@12e7e639{ s=START }
  ]=>
  HttpChannelOverHttp@1bba6dcf{
    s=HttpChannelState@5eb8f0dc{
      s=HANDLING
      rs=BLOCKING
      os=OPEN
      is=READY
      awp=false
      se=false
      i=true
      al=0
    },
    r=1,
    c=false/false,
    a=HANDLING,
    uri=https://localhost:3043/rdf,
    age=330194
  }

No PHI in Email: PointClickCare and Collective Medical, A PointClickCare 
Company, policies prohibit sending protected health information (PHI) by email, 
which may violate regulatory requirements. If sending PHI is necessary, please 
contact the sender for secure delivery instructions.

Confidentiality Notice: This email message, including any attachments, is for 
the sole use of the intended recipient(s) and may contain confidential and 
privileged information. Any unauthorized review, use, disclosure or 
distribution is prohibited. If you are not the intended recipient, please 
contact the sender by reply email and destroy all copies of the original 
message.

Reply via email to