You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@kudu.apache.org by "Abhishek Chennaka (Code Review)" <ge...@cloudera.org> on 2026/04/27 05:38:40 UTC

[kudu-CR] KUDU-3768 Fix service file overwriting in kudu-subprocess JAR

Abhishek Chennaka has uploaded this change for review. ( http://gerrit.cloudera.org:8080/24241


Change subject: KUDU-3768 Fix service file overwriting in kudu-subprocess JAR
......................................................................

KUDU-3768 Fix service file overwriting in kudu-subprocess JAR

This patch addresses a build issue in the kudu-subprocess module where
Service Provider Interface (SPI) registration files in META-INF/services
were being overwritten during the creation of the Shadow (fat) JAR.

Testing:
- Verified the kudu-subprocess.jar contains StringProvider in its
  MessageBodyReader service file.
- Confirmed the kudu-subprocess no longer throw the below error log:

Mar 31, 2026 8:05:51 PM com.sun.jersey.api.client.ClientResponse getEntity
SEVERE: A message body reader for Java class java.lang.String, and Java type class java.lang.String, and MIME media type application/octet-stream was not found
Mar 31, 2026 8:05:51 PM com.sun.jersey.api.client.ClientResponse getEntity
SEVERE: The registered message body readers compatible with the MIME media type are:
*/* ->
  com.sun.jersey.json.impl.provider.entity.JSONJAXBElementProvider$General
  com.sun.jersey.json.impl.provider.entity.JSONArrayProvider$General
  com.sun.jersey.json.impl.provider.entity.JSONObjectProvider$General
  com.sun.jersey.json.impl.provider.entity.JSONRootElementProvider$General
  com.sun.jersey.json.impl.provider.entity.JSONListElementProvider$General

The generated jar diffrences:
java %  jar tvf /tmp/kudu-subprocess-new/kudu-subprocess-1.19.0-SNAPSHOT.jar|  wc -l
   54917
java %  jar tvf /tmp/kudu-subprocess-old/kudu-subprocess-1.19.0-SNAPSHOT.jar|  wc -l
   54920
java % stat /tmp/kudu-subprocess-new/kudu-subprocess-1.19.0-SNAPSHOT.jar
16777234 10323361 -rw-r--r-- 1 abhishekchennaka wheel 0 92210113 "Apr 26 13:42:14 2026" "Apr 26 13:42:14 2026" "Apr 26 13:42:14 2026" "Apr 26 13:42:14 2026" 4096 180104 0 /tmp/kudu-subprocess-new/kudu-subprocess-1.19.0-SNAPSHOT.jar
java % stat /tmp/kudu-subprocess-old/kudu-subprocess-1.19.0-SNAPSHOT.jar
16777234 10328175 -rw-r--r-- 1 abhishekchennaka wheel 0 92208129 "Apr 26 13:47:05 2026" "Apr 26 13:47:05 2026" "Apr 26 13:47:05 2026" "Apr 26 13:47:05 2026" 4096 180096 0 /tmp/kudu-subprocess-old/kudu-subprocess-1.19.0-SNAPSHOT.jar

The three missing files in the new jar are below (empty placeholder files):
0 Sun Apr 26 13:42:46 PDT 2026 META-INF/services/
0 Wed May 24 15:46:46 PDT 2017 META-INF/services/com.sun.jersey.server.impl.model.method.dispatch.ResourceMethodDispatchProvider
0 Wed May 24 15:46:46 PDT 2017 META-INF/services/com.sun.jersey.spi.container.ContainerResponseFilter

The MessageBodyReader now contains the combined list (jersey-core, jersey-json, jersey-client, and others), hence the size difference:
java %  jar tvf /tmp/kudu-subprocess-new/kudu-subprocess-1.19.0-SNAPSHOT.jar|  grep "META-INF/services/javax.ws.rs.ext.MessageBodyReader"
  5584 Thu Apr 23 23:25:32 PDT 2026 META-INF/services/javax.ws.rs.ext.MessageBodyReader
java %  jar tvf /tmp/kudu-subprocess-old/kudu-subprocess-1.19.0-SNAPSHOT.jar|  grep "META-INF/services/javax.ws.rs.ext.MessageBodyReader"
   821 Sat Feb 24 20:49:36 PST 2024 META-INF/services/javax.ws.rs.ext.MessageBodyReader

Change-Id: I2677acee77a42b63cb697329fd2e1a424415d52c
---
M java/kudu-subprocess/build.gradle
1 file changed, 6 insertions(+), 0 deletions(-)



  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/41/24241/1
-- 
To view, visit http://gerrit.cloudera.org:8080/24241
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I2677acee77a42b63cb697329fd2e1a424415d52c
Gerrit-Change-Number: 24241
Gerrit-PatchSet: 1
Gerrit-Owner: Abhishek Chennaka <ac...@cloudera.com>

[kudu-CR] KUDU-3768 Fix service file overwriting in kudu-subprocess JAR

Posted by "Ashwani Raina (Code Review)" <ge...@cloudera.org>.
Ashwani Raina has posted comments on this change. ( http://gerrit.cloudera.org:8080/24241 )

Change subject: KUDU-3768 Fix service file overwriting in kudu-subprocess JAR
......................................................................


Patch Set 1:

(2 comments)

http://gerrit.cloudera.org:8080/#/c/24241/1//COMMIT_MSG
Commit Message:

http://gerrit.cloudera.org:8080/#/c/24241/1//COMMIT_MSG@7
PS1, Line 7: kudu-subprocess JAR
Do you think it would make sense to enable it globally by making similar changes in java/gradle/shadow.gradle (not necessarily in this patch)?

That way, it becomes applicable to other module as well, just in case we see similar issue there.


http://gerrit.cloudera.org:8080/#/c/24241/1//COMMIT_MSG@19
PS1, Line 19: A message body reader for Java class java.lang.String, and Java type class java.lang.String
I also noticed this while doing intermediate testing of ranger audit logging to hdfs. I was not sure whether it was due to the new JARs added by the patch or pre-existing.

Just curious - does this error cause failure of some functionality that is running at the time?



-- 
To view, visit http://gerrit.cloudera.org:8080/24241
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I2677acee77a42b63cb697329fd2e1a424415d52c
Gerrit-Change-Number: 24241
Gerrit-PatchSet: 1
Gerrit-Owner: Abhishek Chennaka <ac...@cloudera.com>
Gerrit-Reviewer: Ashwani Raina <ar...@gmail.com>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Comment-Date: Mon, 27 Apr 2026 07:12:23 +0000
Gerrit-HasComments: Yes

[kudu-CR] KUDU-3768 Fix service file overwriting in kudu-subprocess JAR

Posted by "Alexey Serbin (Code Review)" <ge...@cloudera.org>.
Alexey Serbin has posted comments on this change. ( http://gerrit.cloudera.org:8080/24241 )

Change subject: KUDU-3768 Fix service file overwriting in kudu-subprocess JAR
......................................................................


Patch Set 1: Verified+1

ASAN, TSAN: unrelated test failures (known flaky tests)


-- 
To view, visit http://gerrit.cloudera.org:8080/24241
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I2677acee77a42b63cb697329fd2e1a424415d52c
Gerrit-Change-Number: 24241
Gerrit-PatchSet: 1
Gerrit-Owner: Abhishek Chennaka <ac...@cloudera.com>
Gerrit-Reviewer: Abhishek Chennaka <ac...@cloudera.com>
Gerrit-Reviewer: Alexey Serbin <al...@apache.org>
Gerrit-Reviewer: Ashwani Raina <ar...@gmail.com>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Zoltan Chovan <zc...@cloudera.com>
Gerrit-Comment-Date: Tue, 28 Apr 2026 17:18:52 +0000
Gerrit-HasComments: No

[kudu-CR] KUDU-3768 Fix service file overwriting in kudu-subprocess JAR

Posted by "Ashwani Raina (Code Review)" <ge...@cloudera.org>.
Ashwani Raina has posted comments on this change. ( http://gerrit.cloudera.org:8080/24241 )

Change subject: KUDU-3768 Fix service file overwriting in kudu-subprocess JAR
......................................................................


Patch Set 1: Code-Review+1


-- 
To view, visit http://gerrit.cloudera.org:8080/24241
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I2677acee77a42b63cb697329fd2e1a424415d52c
Gerrit-Change-Number: 24241
Gerrit-PatchSet: 1
Gerrit-Owner: Abhishek Chennaka <ac...@cloudera.com>
Gerrit-Reviewer: Abhishek Chennaka <ac...@cloudera.com>
Gerrit-Reviewer: Alexey Serbin <al...@apache.org>
Gerrit-Reviewer: Ashwani Raina <ar...@gmail.com>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Zoltan Chovan <zc...@cloudera.com>
Gerrit-Comment-Date: Tue, 28 Apr 2026 08:28:57 +0000
Gerrit-HasComments: No

[kudu-CR] KUDU-3768 Fix service file overwriting in kudu-subprocess JAR

Posted by "Alexey Serbin (Code Review)" <ge...@cloudera.org>.
Alexey Serbin has submitted this change and it was merged. ( http://gerrit.cloudera.org:8080/24241 )

Change subject: KUDU-3768 Fix service file overwriting in kudu-subprocess JAR
......................................................................

KUDU-3768 Fix service file overwriting in kudu-subprocess JAR

This patch addresses a build issue in the kudu-subprocess module where
Service Provider Interface (SPI) registration files in META-INF/services
were being overwritten during the creation of the Shadow (fat) JAR.

Testing:
- Verified the kudu-subprocess.jar contains StringProvider in its
  MessageBodyReader service file.
- Confirmed the kudu-subprocess no longer throw the below error log:

Mar 31, 2026 8:05:51 PM com.sun.jersey.api.client.ClientResponse getEntity
SEVERE: A message body reader for Java class java.lang.String, and Java type class java.lang.String, and MIME media type application/octet-stream was not found
Mar 31, 2026 8:05:51 PM com.sun.jersey.api.client.ClientResponse getEntity
SEVERE: The registered message body readers compatible with the MIME media type are:
*/* ->
  com.sun.jersey.json.impl.provider.entity.JSONJAXBElementProvider$General
  com.sun.jersey.json.impl.provider.entity.JSONArrayProvider$General
  com.sun.jersey.json.impl.provider.entity.JSONObjectProvider$General
  com.sun.jersey.json.impl.provider.entity.JSONRootElementProvider$General
  com.sun.jersey.json.impl.provider.entity.JSONListElementProvider$General

The generated jar diffrences:
java %  jar tvf /tmp/kudu-subprocess-new/kudu-subprocess-1.19.0-SNAPSHOT.jar|  wc -l
   54917
java %  jar tvf /tmp/kudu-subprocess-old/kudu-subprocess-1.19.0-SNAPSHOT.jar|  wc -l
   54920
java % stat /tmp/kudu-subprocess-new/kudu-subprocess-1.19.0-SNAPSHOT.jar
16777234 10323361 -rw-r--r-- 1 abhishekchennaka wheel 0 92210113 "Apr 26 13:42:14 2026" "Apr 26 13:42:14 2026" "Apr 26 13:42:14 2026" "Apr 26 13:42:14 2026" 4096 180104 0 /tmp/kudu-subprocess-new/kudu-subprocess-1.19.0-SNAPSHOT.jar
java % stat /tmp/kudu-subprocess-old/kudu-subprocess-1.19.0-SNAPSHOT.jar
16777234 10328175 -rw-r--r-- 1 abhishekchennaka wheel 0 92208129 "Apr 26 13:47:05 2026" "Apr 26 13:47:05 2026" "Apr 26 13:47:05 2026" "Apr 26 13:47:05 2026" 4096 180096 0 /tmp/kudu-subprocess-old/kudu-subprocess-1.19.0-SNAPSHOT.jar

The three missing files in the new jar are below (empty placeholder files):
0 Sun Apr 26 13:42:46 PDT 2026 META-INF/services/
0 Wed May 24 15:46:46 PDT 2017 META-INF/services/com.sun.jersey.server.impl.model.method.dispatch.ResourceMethodDispatchProvider
0 Wed May 24 15:46:46 PDT 2017 META-INF/services/com.sun.jersey.spi.container.ContainerResponseFilter

The MessageBodyReader now contains the combined list (jersey-core, jersey-json, jersey-client, and others), hence the size difference:
java %  jar tvf /tmp/kudu-subprocess-new/kudu-subprocess-1.19.0-SNAPSHOT.jar|  grep "META-INF/services/javax.ws.rs.ext.MessageBodyReader"
  5584 Thu Apr 23 23:25:32 PDT 2026 META-INF/services/javax.ws.rs.ext.MessageBodyReader
java %  jar tvf /tmp/kudu-subprocess-old/kudu-subprocess-1.19.0-SNAPSHOT.jar|  grep "META-INF/services/javax.ws.rs.ext.MessageBodyReader"
   821 Sat Feb 24 20:49:36 PST 2024 META-INF/services/javax.ws.rs.ext.MessageBodyReader

Change-Id: I2677acee77a42b63cb697329fd2e1a424415d52c
Reviewed-on: http://gerrit.cloudera.org:8080/24241
Reviewed-by: Zoltan Chovan <zc...@cloudera.com>
Reviewed-by: Ashwani Raina <ar...@gmail.com>
Tested-by: Alexey Serbin <al...@apache.org>
Reviewed-by: Alexey Serbin <al...@apache.org>
---
M java/kudu-subprocess/build.gradle
1 file changed, 6 insertions(+), 0 deletions(-)

Approvals:
  Zoltan Chovan: Looks good to me, approved
  Ashwani Raina: Looks good to me, but someone else must approve
  Alexey Serbin: Looks good to me, approved; Verified

-- 
To view, visit http://gerrit.cloudera.org:8080/24241
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: I2677acee77a42b63cb697329fd2e1a424415d52c
Gerrit-Change-Number: 24241
Gerrit-PatchSet: 2
Gerrit-Owner: Abhishek Chennaka <ac...@cloudera.com>
Gerrit-Reviewer: Abhishek Chennaka <ac...@cloudera.com>
Gerrit-Reviewer: Alexey Serbin <al...@apache.org>
Gerrit-Reviewer: Ashwani Raina <ar...@gmail.com>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Zoltan Chovan <zc...@cloudera.com>

[kudu-CR] KUDU-3768 Fix service file overwriting in kudu-subprocess JAR

Posted by "Alexey Serbin (Code Review)" <ge...@cloudera.org>.
Alexey Serbin has posted comments on this change. ( http://gerrit.cloudera.org:8080/24241 )

Change subject: KUDU-3768 Fix service file overwriting in kudu-subprocess JAR
......................................................................


Patch Set 1: Code-Review+2

Thank you for the RCA and the fix!


-- 
To view, visit http://gerrit.cloudera.org:8080/24241
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I2677acee77a42b63cb697329fd2e1a424415d52c
Gerrit-Change-Number: 24241
Gerrit-PatchSet: 1
Gerrit-Owner: Abhishek Chennaka <ac...@cloudera.com>
Gerrit-Reviewer: Abhishek Chennaka <ac...@cloudera.com>
Gerrit-Reviewer: Alexey Serbin <al...@apache.org>
Gerrit-Reviewer: Ashwani Raina <ar...@gmail.com>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Zoltan Chovan <zc...@cloudera.com>
Gerrit-Comment-Date: Tue, 28 Apr 2026 17:20:31 +0000
Gerrit-HasComments: No

[kudu-CR] KUDU-3768 Fix service file overwriting in kudu-subprocess JAR

Posted by "Zoltan Chovan (Code Review)" <ge...@cloudera.org>.
Zoltan Chovan has posted comments on this change. ( http://gerrit.cloudera.org:8080/24241 )

Change subject: KUDU-3768 Fix service file overwriting in kudu-subprocess JAR
......................................................................


Patch Set 1: Code-Review+2


-- 
To view, visit http://gerrit.cloudera.org:8080/24241
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I2677acee77a42b63cb697329fd2e1a424415d52c
Gerrit-Change-Number: 24241
Gerrit-PatchSet: 1
Gerrit-Owner: Abhishek Chennaka <ac...@cloudera.com>
Gerrit-Reviewer: Abhishek Chennaka <ac...@cloudera.com>
Gerrit-Reviewer: Alexey Serbin <al...@apache.org>
Gerrit-Reviewer: Ashwani Raina <ar...@gmail.com>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Zoltan Chovan <zc...@cloudera.com>
Gerrit-Comment-Date: Tue, 28 Apr 2026 07:17:55 +0000
Gerrit-HasComments: No

[kudu-CR] KUDU-3768 Fix service file overwriting in kudu-subprocess JAR

Posted by "Abhishek Chennaka (Code Review)" <ge...@cloudera.org>.
Abhishek Chennaka has posted comments on this change. ( http://gerrit.cloudera.org:8080/24241 )

Change subject: KUDU-3768 Fix service file overwriting in kudu-subprocess JAR
......................................................................


Patch Set 1:

(2 comments)

http://gerrit.cloudera.org:8080/#/c/24241/1//COMMIT_MSG
Commit Message:

http://gerrit.cloudera.org:8080/#/c/24241/1//COMMIT_MSG@7
PS1, Line 7: kudu-subprocess JAR
> Do you think it would make sense to enable it globally by making similar ch
Yes it would make sense but I think that needs some additional testing on each jar.
I quickly checked if there are any 0 byte files listed in META-INF/services of all of the jars built in my machine and did not find any. But obviously that doesn't guarantee anything. We should investigate the sizes/contents of the files before and after the change.
Not sure if it falls into the scope of this patch, I'd like to keep it as a part of a separate change list since this is specific to kudu-subprocess JAR.


http://gerrit.cloudera.org:8080/#/c/24241/1//COMMIT_MSG@19
PS1, Line 19: A message body reader for Java class java.lang.String, and Java type class java.lang.String
> I also noticed this while doing intermediate testing of ranger audit loggin
Yes, at least in mini ranger tests in Ranger 2.6, I could see the policies not being fetched due to this issue.



-- 
To view, visit http://gerrit.cloudera.org:8080/24241
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I2677acee77a42b63cb697329fd2e1a424415d52c
Gerrit-Change-Number: 24241
Gerrit-PatchSet: 1
Gerrit-Owner: Abhishek Chennaka <ac...@cloudera.com>
Gerrit-Reviewer: Abhishek Chennaka <ac...@cloudera.com>
Gerrit-Reviewer: Ashwani Raina <ar...@gmail.com>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Comment-Date: Mon, 27 Apr 2026 17:38:35 +0000
Gerrit-HasComments: Yes

[kudu-CR] KUDU-3768 Fix service file overwriting in kudu-subprocess JAR

Posted by "Kudu Jenkins (Code Review)" <ge...@cloudera.org>.
Kudu Jenkins has posted comments on this change. ( http://gerrit.cloudera.org:8080/24241 )

Change subject: KUDU-3768 Fix service file overwriting in kudu-subprocess JAR
......................................................................


Patch Set 1: Verified-1

Build Failed 

http://jenkins.kudu.apache.org/job/pre_commit/2519/ : FAILURE


-- 
To view, visit http://gerrit.cloudera.org:8080/24241
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I2677acee77a42b63cb697329fd2e1a424415d52c
Gerrit-Change-Number: 24241
Gerrit-PatchSet: 1
Gerrit-Owner: Abhishek Chennaka <ac...@cloudera.com>
Gerrit-Reviewer: Ashwani Raina <ar...@gmail.com>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Comment-Date: Mon, 27 Apr 2026 07:40:18 +0000
Gerrit-HasComments: No

[kudu-CR] KUDU-3768 Fix service file overwriting in kudu-subprocess JAR

Posted by "Kudu Jenkins (Code Review)" <ge...@cloudera.org>.
Kudu Jenkins has posted comments on this change. ( http://gerrit.cloudera.org:8080/24241 )

Change subject: KUDU-3768 Fix service file overwriting in kudu-subprocess JAR
......................................................................


Patch Set 1:

Build Started http://jenkins.kudu.apache.org/job/pre_commit/2519/


-- 
To view, visit http://gerrit.cloudera.org:8080/24241
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I2677acee77a42b63cb697329fd2e1a424415d52c
Gerrit-Change-Number: 24241
Gerrit-PatchSet: 1
Gerrit-Owner: Abhishek Chennaka <ac...@cloudera.com>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Comment-Date: Mon, 27 Apr 2026 05:38:48 +0000
Gerrit-HasComments: No

[kudu-CR] KUDU-3768 Fix service file overwriting in kudu-subprocess JAR

Posted by "Alexey Serbin (Code Review)" <ge...@cloudera.org>.
Alexey Serbin has removed a vote on this change.

Change subject: KUDU-3768 Fix service file overwriting in kudu-subprocess JAR
......................................................................


Removed Verified-1 by Kudu Jenkins (120)
-- 
To view, visit http://gerrit.cloudera.org:8080/24241
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: deleteVote
Gerrit-Change-Id: I2677acee77a42b63cb697329fd2e1a424415d52c
Gerrit-Change-Number: 24241
Gerrit-PatchSet: 1
Gerrit-Owner: Abhishek Chennaka <ac...@cloudera.com>
Gerrit-Reviewer: Abhishek Chennaka <ac...@cloudera.com>
Gerrit-Reviewer: Alexey Serbin <al...@apache.org>
Gerrit-Reviewer: Ashwani Raina <ar...@gmail.com>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Zoltan Chovan <zc...@cloudera.com>