[Bug] GET /api/v1/sessions/{handle}/operations returns 400 when other sessions' operations exist — BoxedUnit leaked into response
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 76/100
Research direction
Start in SessionsResource.getOperation, named in the issue, and trace how it builds the response for operations from other sessions. Check the endpoint’s existing tests and add coverage for a server with both matching and non-matching operations. Done means the endpoint returns only operations for the requested session and serializes successfully.
Written by the indexing model from the issue text.
Description
Code of Conduct
- I agree to follow this project's Code of Conduct
Search before asking
- I have searched in the issues and found no similar issues.
Describe the bug
Describe the bug
SessionsResource.getOperation builds the response with map + an if that has no else. For every operation on the server that does not belong to the requested session, the closure evaluates to () (scala.runtime.BoxedUnit), which is placed into the returned Seq. Jackson then fails to serialize the list
com.fasterxml.jackson.databind.exc.InvalidDefinitionException:
No serializer found for class scala.runtime.BoxedUnit and no properties discovered to create BeanSerializer
(to avoid exception, disable SerializationFeature.FAIL_ON_EMPTY_BEANS)
(through reference chain: scala.collection.immutable.$colon$colon[1])
and Jetty responds 400 Bad Request with the Jackson message as text/plain.
As long as the server hosts any operation from another session (almost always true in shared/multi-user deployments), this endpoint is unusable. Only a server-wide zero-operation state returns [] successfully. Even if serialization succeeded, the response would contain null holes for non-matching operations, so the semantics are wrong regardless.
Affects Version(s)
1.12.0
Kyuubi Server Log Output
Kyuubi Engine Log Output
Kyuubi Server Configurations
Kyuubi Engine Configurations
Additional context
No response
Are you willing to submit PR?
- Yes. I would be willing to submit a PR with guidance from the Kyuubi community to fix.
- No. I cannot submit a PR at this time.
- Dominant language
- Scala
- Stars
- 2.4k
- Forks
- 1k
- Avg merge
- 18h 17m
- Merged PRs (30d)
- 1
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from apache/kyuubi
-
[Bug] HiveDialect shares its colspecs dict with SQLAlchemy's DefaultDialect (python/pyhive)Possibly taken @rusackas claimed this 22 days ago. Open
Difficulty 1/5 Under an hour Newbie friendliness 80/100
apache/kyuubi#7786 · 1 comment ·
Maintainers usually reply within 1 day
-
isClassLoadable answers false on threads without a context classloaderPossibly taken @LuciferYang claimed this 57 days ago. Open
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
Maintainers usually reply within 1 day
-
kind:feature priority:major
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
apache/kyuubi#7454 · 1 comment · 1 reaction ·
Maintainers usually reply within 1 day
-
[Bug] Spark engine fails to open sessions with SERVER_LOCAL share levelPossibly taken @mangeshraut712 claimed this 1 day ago. Opengood first issue help wanted kind:bug module:spark
Difficulty 4/5 3-5 days Newbie friendliness 55/100
Maintainers usually reply within 1 day
-
[Bug] LDAP Login Error | Password with Special Characters § ß ö ä ü € not workingPossibly taken @wangzhigang1999 claimed this 2 days ago. Openkind:bug priority:major
Difficulty 3/5 1-2 days Newbie friendliness 55/100
apache/kyuubi#7842 · 1 comment ·
Maintainers usually reply within 1 day
Similar issues
-
Area: PDF support
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
orbeon/orbeon-forms#8055 ·
Maintainers usually reply within 2 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
lichess-org/database#103 ·
-
Spark benchmarks crash with `[INVALID_DRIVER_MEMORY]` on JVMs whose default heap is below Spark's ~450 MB minimumPossibly taken @sendaoYan claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 79/100
-
Static data: Add @id in Organization static contentPossibly taken A pull request linked to this issue is open or already merged. OpenSEO
Difficulty 1/5 1-3 hours Newbie friendliness 87/100
lichess-org/lila#22409 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
canton-network/splice#8342 ·
Maintainers usually reply within 1 day