https://bz.apache.org/bugzilla/show_bug.cgi?id=63695

            Bug ID: 63695
           Summary: session_cookie attribute does not work?
           Product: Tomcat Connectors
           Version: 1.2.46
          Hardware: PC
            Status: NEW
          Severity: normal
          Priority: P2
         Component: isapi
          Assignee: dev@tomcat.apache.org
          Reporter: kimc....@gmail.com
  Target Milestone: ---

I'm trying to change the default value of session_cookie JSESSIONID into
TESTSESSIONID
but I think the attribute session_cookie does not work as I intended.

Would you please check if session_cookie has a bug?

Here's my test

* workers.properties
worker.list=worker_lb

worker.worker_lb.type=lb
worker.worker_lb.balance_workers=engine1,engine2
worker.worker_lb.sticky_session=true

worker.engine1.host=localhost
worker.engine1.port=9910
worker.engine1.session_cookie=TESTSESSIONID
worker.engine1.route=engine1
worker.engine1.reference=worker.default

worker.engine2.host=localhost
worker.engine2.port=9920
worker.engine2.session_cookie=TESTSESSIONID
worker.engine2.route=engine2
worker.engine2.reference=worker.default

worker.default.type=ajp13
worker.default.socket_timeout=300
worker.default.connection_pool_timeout=120
worker.default.connection_pool_size=200
worker.default.connection_pool_minsize=100
worker.default.max_packet_size=8192
worker.default.retries=1
worker.default.reply_timeout=360000
worker.default.socket_connect_timeout=3000
worker.default.connect_timeout=3000
worker.default.ping_mode=P
worker.default.prepost_timeout=3000
worker.default.recovery_options=3


* isapi_redirector's log - we can see the log session_cookie' ->
'TESTSESSIONID' (correctly read from my workers.properties)

[Tue Aug 13 16:37:21.024 2019] [6532:21108] [debug] jk_map_dump::jk_map.c
(599): Dump of map 4: 'worker.list' -> 'worker_lb,jkstatus'
[Tue Aug 13 16:37:21.537 2019] [6532:21108] [debug] jk_map_dump::jk_map.c
(599): Dump of map 4: 'worker.worker_lb.type' -> 'lb'
[Tue Aug 13 16:37:22.467 2019] [6532:21108] [debug] jk_map_dump::jk_map.c
(599): Dump of map 4: 'worker.worker_lb.balance_workers' -> 'engine1,engine2'
[Tue Aug 13 16:37:23.045 2019] [6532:21108] [debug] jk_map_dump::jk_map.c
(599): Dump of map 4: 'worker.worker_lb.sticky_session' -> 'true'
[Tue Aug 13 16:37:24.305 2019] [6532:21108] [debug] jk_map_dump::jk_map.c
(599): Dump of map 4: 'worker.engine1.host' -> 'localhost'
[Tue Aug 13 16:37:25.696 2019] [6532:21108] [debug] jk_map_dump::jk_map.c
(599): Dump of map 4: 'worker.engine1.port' -> '9910'
[Tue Aug 13 16:37:25.978 2019] [6532:21108] [debug] jk_map_dump::jk_map.c
(599): Dump of map 4: 'worker.engine1.session_cookie' -> 'TESTSESSIONID'
[Tue Aug 13 16:37:26.346 2019] [6532:21108] [debug] jk_map_dump::jk_map.c
(599): Dump of map 4: 'worker.engine1.route' -> 'engine1'
[Tue Aug 13 16:37:26.892 2019] [6532:21108] [debug] jk_map_dump::jk_map.c
(599): Dump of map 4: 'worker.engine1.reference' -> 'worker.default'
[Tue Aug 13 16:37:28.019 2019] [6532:21108] [debug] jk_map_dump::jk_map.c
(599): Dump of map 4: 'worker.engine2.host' -> 'localhost'
[Tue Aug 13 16:37:28.982 2019] [6532:21108] [debug] jk_map_dump::jk_map.c
(599): Dump of map 4: 'worker.engine2.port' -> '9920'
[Tue Aug 13 16:37:30.044 2019] [6532:21108] [debug] jk_map_dump::jk_map.c
(599): Dump of map 4: 'worker.engine2.session_cookie' -> 'TESTSESSIONID'
[Tue Aug 13 16:37:30.766 2019] [6532:21108] [debug] jk_map_dump::jk_map.c
(599): Dump of map 4: 'worker.engine2.route' -> 'engine2'
[Tue Aug 13 16:37:30.988 2019] [6532:21108] [debug] jk_map_dump::jk_map.c
(599): Dump of map 4: 'worker.engine2.reference' -> 'worker.default'
[Tue Aug 13 16:37:31.217 2019] [6532:21108] [debug] jk_map_dump::jk_map.c
(599): Dump of map 4: 'worker.default.type' -> 'ajp13'
...

* isapi_redirector's log - On second request, request header Cookie has
TESTSESSIONID but id='empty'

[Tue Aug 13 16:40:07.209 2019] [6532:18068] [debug]
init_ws_service::jk_isapi_plugin.c (3267): Forwarding request header
Accept-Language : ko-KR,ko;q=0.9,en-US;q=0.8,en;q=0.7
[Tue Aug 13 16:40:07.270 2019] [6532:18068] [debug]
init_ws_service::jk_isapi_plugin.c (3267): Forwarding request header Cookie :
TESTSESSIONID=ASfXUomeuKIAUYQKlGfFPk81z4ZCFVW32wVdAmmJqDBLaV7iy7SU8hXlXs3OLSg0.engine1
[Tue Aug 13 16:40:07.321 2019] [6532:18068] [debug]
init_ws_service::jk_isapi_plugin.c (3267): Forwarding request header Host :
localhost:18888
[Tue Aug 13 16:40:07.381 2019] [6532:18068] [debug]
init_ws_service::jk_isapi_plugin.c (3267): Forwarding request header User-Agent
: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like
Gecko) Chrome/76.0.3809.100 Safari/537.36
[Tue Aug 13 16:40:07.432 2019] [6532:18068] [debug]
init_ws_service::jk_isapi_plugin.c (3267): Forwarding request header
Upgrade-Insecure-Requests : 1
[Tue Aug 13 16:40:07.482 2019] [6532:18068] [debug]
init_ws_service::jk_isapi_plugin.c (3267): Forwarding request header
Sec-Fetch-Mode : navigate
[Tue Aug 13 16:40:07.544 2019] [6532:18068] [debug]
init_ws_service::jk_isapi_plugin.c (3267): Forwarding request header
Sec-Fetch-User : ?1
[Tue Aug 13 16:40:07.593 2019] [6532:18068] [debug]
init_ws_service::jk_isapi_plugin.c (3267): Forwarding request header
Sec-Fetch-Site : none
[Tue Aug 13 16:40:07.655 2019] [6532:18068] [debug]
init_ws_service::jk_isapi_plugin.c (3296): Service protocol=HTTP/1.1 method=GET
host=::1 addr=::1 name=localhost port=18888 auth=(null) user=(null)
uri=/plusds/sessionValueTest.jsp
[Tue Aug 13 16:40:07.705 2019] [6532:18068] [debug]
init_ws_service::jk_isapi_plugin.c (3308): Service request headers=13
attributes=0 chunked=no content-length=0 available=0
[Tue Aug 13 16:40:07.745 2019] [6532:18068] [debug]
wc_get_worker_for_name::jk_worker.c (120): found a worker worker_lb
[Tue Aug 13 16:40:07.796 2019] [6532:18068] [debug]
HttpExtensionProc::jk_isapi_plugin.c (2094): got a worker for name worker_lb
[Tue Aug 13 16:40:07.845 2019] [6532:18068] [debug] service::jk_lb_worker.c
(1235): LB - num_of_workers: 2, retry: 0, lb_retries: 2
[Tue Aug 13 16:40:07.896 2019] [6532:18068] [debug] service::jk_lb_worker.c
(1235): LB - num_of_workers: 2, retry: 1, lb_retries: 2
[Tue Aug 13 16:40:07.945 2019] [6532:18068] [debug] service::jk_lb_worker.c
(1278): service sticky_session=1 id='empty'
[Tue Aug 13 16:40:07.997 2019] [6532:18068] [debug] service::jk_lb_worker.c
(1284): attempt 0, max attempts 2, worker count 2
[Tue Aug 13 16:40:08.046 2019] [6532:18068] [debug]
get_most_suitable_worker::jk_lb_worker.c (1141): found best worker engine2
(engine2) using method 'Request'
[Tue Aug 13 16:40:08.097 2019] [6532:18068] [debug] service::jk_lb_worker.c
(1326): service worker=engine2 route=engine2 failover=true
[Tue Aug 13 16:40:08.146 2019] [6532:18068] [debug]
ajp_get_endpoint::jk_ajp_common.c (3357): (engine2) acquired connection pool
slot=0 after 0 retries
[Tue Aug 13 16:40:08.197 2019] [6532:18068] [debug]
ajp_marshal_into_msgb::jk_ajp_common.c (681): (engine2) ajp marshaling done
[Tue Aug 13 16:40:08.258 2019] [6532:18068] [debug]
ajp_service::jk_ajp_common.c (2588): processing engine2 with 1 retries


* I already tested with the default session_cookie=JSESSIONID, the logs are
like the below,
id='7ywXWgCWC23Q7dmHTrUh2E7GHIQ6jTb828yZzrXXx4zsFevXyxSCbsk7pObtUF0l.engine1'

[Tue Aug 13 16:46:26.424 2019] [2120:10104] [debug] service::jk_lb_worker.c
(1278): service sticky_session=1
id='7ywXWgCWC23Q7dmHTrUh2E7GHIQ6jTb828yZzrXXx4zsFevXyxSCbsk7pObtUF0l.engine1'
[Tue Aug 13 16:46:26.475 2019] [2120:10104] [debug] service::jk_lb_worker.c
(1284): attempt 0, max attempts 2, worker count 2
[Tue Aug 13 16:46:26.525 2019] [2120:10104] [debug]
get_most_suitable_worker::jk_lb_worker.c (1083): searching worker for partial
sessionid
7ywXWgCWC23Q7dmHTrUh2E7GHIQ6jTb828yZzrXXx4zsFevXyxSCbsk7pObtUF0l.engine1
[Tue Aug 13 16:46:26.576 2019] [2120:10104] [debug]
get_most_suitable_worker::jk_lb_worker.c (1091): searching worker for session
route engine1
[Tue Aug 13 16:46:26.626 2019] [2120:10104] [debug]
get_most_suitable_worker::jk_lb_worker.c (1106): found worker engine1 (engine1)
for route engine1 and partial sessionid
7ywXWgCWC23Q7dmHTrUh2E7GHIQ6jTb828yZzrXXx4zsFevXyxSCbsk7pObtUF0l.engine1

-- 
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to