Opened 5 years ago

Closed 23 months ago

Last modified 21 months ago

#1068 closed enhancement (fixed)

Combine Jetty HashSessionScavenger threads

Reported by: zzz Owned by: zzz
Priority: minor Milestone: 0.9.29
Component: apps/console Version: 0.9.8.1
Keywords: performance memory Cc:
Parent Tickets:

Description

Due to the way we construct the authorization realms for each webapp, we end up with a Jetty HashSessionScavenger? thread for each webapp - 6 total. Can we set things up so that there's only a single thread? See RouterConsoleRunner?.

Subtickets

Change History (8)

comment:1 Changed 4 years ago by str4d

  • Keywords performance memory added
  • Milestone 0.9.12 deleted

comment:2 Changed 3 years ago by str4d

  • Status changed from new to open

comment:3 Changed 2 years ago by zzz

  • Milestone set to 0.9.29
  • Owner set to zzz
  • Status changed from open to accepted

comment:4 Changed 2 years ago by zzz

  • Resolution set to fixed
  • Status changed from accepted to closed

Left it per-webapp scoped, but set a common Timer.
In 19d1077baddf272f3d277fd06c996741f7f74e21 to be 0.9.28-6

comment:5 Changed 23 months ago by zzz

  • Milestone changed from 0.9.29 to 0.9.31
  • Resolution fixed deleted
  • Status changed from closed to reopened

This had to be reworked a little for Jetty 9, but it now causes the Jetty logging rollover to kill the timer, and that stops rollover from working:

        2017/xx/xx 00:00:00 | Exception in thread "org.eclipse.jetty.util.RolloverFileOutputStream" java.lang.IllegalStateException: 
Task already scheduled or cancelled
        2017/xx/xx 00:00:00 |	at java.util.Timer.sched(Timer.java:401)
        2017/xx/xx 00:00:00 |	at java.util.Timer.schedule(Timer.java:208)
        2017/xx/xx 00:00:00 |	at org.eclipse.jetty.util.RolloverFileOutputStream.scheduleNextRollover(RolloverFileOutputStream.java
:195)
        2017/xx/xx 00:00:00 |	at org.eclipse.jetty.util.RolloverFileOutputStream.access$200(RolloverFileOutputStream.java:46)
        2017/xx/xx 00:00:00 |	at org.eclipse.jetty.util.RolloverFileOutputStream$RollTask.run(RolloverFileOutputStream.java:338)
        2017/xx/xx 00:00:00 | 	at java.util.TimerThread.mainLoop(Timer.java:555)
        2017/xx/xx 00:00:00 | 	at java.util.TimerThread.run(Timer.java:505)

reverted in 0.9.29-19-rc 7968baeff75d23fa6561bbbe86620feb4dd97f41
to be investigated for 0.9.31

comment:6 Changed 23 months ago by zzz

above change didn't fix it.
It's a Jetty bug
https://github.com/eclipse/jetty.project/commit/1e46576bf4f888656271b0cbd6fd1605b1808730
https://github.com/eclipse/jetty.project/issues/1469
It's fixed in 9.4.4
https://github.com/eclipse/jetty.project/releases/tag/jetty-9.4.4.v20170414
but there's no backport to 9.2.x

On further review, I don't think this ever had anything to do with the HashSessionScavenger? issue.

comment:7 Changed 23 months ago by zzz

  • Milestone changed from 0.9.31 to 0.9.29
  • Resolution set to fixed
  • Status changed from reopened to closed

Change reverted in 0.9.29-20-rc, Jetty patched. Not fully tested, but closing this ticket again since the Jetty issue is unrelated.

comment:8 Changed 21 months ago by zzz

Separate ticket on the rollover issue #2013

Note: See TracTickets for help on using tickets.