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]

Reply via email to