NihalJain opened a new pull request, #7233:
URL: https://github.com/apache/hbase/pull/7233
Please find a detailed summary of all changes as below:
**Dependencies**
- Replaced `hbase-shaded-jetty` i.e. Jetty 9 with
`hbase-shaded-jetty-12-plus-core` and `hbase-shaded-jetty-12-plus-ee8` i.e.
Jetty 12 EE8
- Upgrade `servlet.api.version` to `4.0.1`
- Upgrade `tomcat.jasper.version` to `9.0.107`
**Code Adjustments**
- Modified import statements to use `org.eclipse.jetty.ee8` etc. as per
Jetty 12
- Replace `HandlerCollection` with `Handler.Sequence`
- Refer
https://jetty.org/docs/jetty/12/programming-guide/migration/11-to-12.html#api-changes-handler-sequence
- Adjust request log handler.
- Refer
https://jetty.org/docs/jetty/12/programming-guide/migration/11-to-12.html#api-changes-handler-requestlog
- Adjust error handlers' set logic based on available methods
- Remove usage of deprecated method `setResourceBase()` with
`setBaseResourceAsPath()`. Also, passing `logDir` path in canonical format as
otherwise, we get `404` in case we have `\..\` in static path.
- Refer https://github.com/jetty/jetty.project/issues/12958
- Remove `MultiException` with `ExceptionUtil.MultiException` in
`HttpServer.java`.
- Modify assignment: `webServer.getHandlers()` with new return type: `Array`
to `List`
- Replaced `Constraint` with `ServletConstraint`
- Added `LogLevelExceptionUtils.java` to handle HTML error response for log
levels as `connection.getResponseMessage()` now returns error code as string in
message and hence causes test failure otherwise
- Allow `javax` as xsd files at `javax/servlet/resources` come via
`org.apache.hbase.thirdparty:hbase-shaded-jetty-12-ee8 `
**Test Adjustments**
- Update `checkBindAddress()` to call `server.start()` else
`testBindAddress()` fails with NPE. Verified doing same without Jetty 12 works
as well.
- Replace `JSON.parse()` with `new JSON().fromJSON()` and `JSON.toString()`
with `new JSON().toJSON()`
- Update app name from `".."` to `""` as it fails with
`IllegalArgumentException` otherwise
- Update `MockHttpApiRule` where we replace `AbstractHandler` with
`Handler.Abstract` and adjust code based on new interface.
- Refer
https://jetty.org/docs/jetty/12/programming-guide/migration/11-to-12.html#handler-request-content-apis
- Deleted `webdefaults.xml`. Need to see if still needed.
- Added necessary compliance rules for URI validation, required by tests and
possibly users as well. Add note for what fails if these rules are not there in
tests.
- Refer
https://github.com/jetty/jetty.project/issues/11890#issuecomment-2156449534
**References**
- Umbrealla at HBASE-29224
- Discussion at
https://lists.apache.org/thread/bkrfm705kqd3bqzyvo7jv46t6p64x2n5
- Dependent thirdparty change at
https://github.com/apache/hbase-thirdparty/commit/fd76b1eec91d40c97c59a2a36e8f430ce05d6788
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]