[
https://issues.apache.org/jira/browse/ZOOKEEPER-2636?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15694257#comment-15694257
]
ASF GitHub Bot commented on ZOOKEEPER-2636:
-------------------------------------------
GitHub user hanm opened a pull request:
https://github.com/apache/zookeeper/pull/115
ZOOKEEPER-2636: Fix C client build break.
JIRA: https://issues.apache.org/jira/browse/ZOOKEEPER-2636
Fix build break by reverting the changes made to JRecord.genCCode in
ZOOKEEPER-2686, which prematurely closed the file writers that prevents
zookeeper.jute.h and zookeeper.jute.c files from complete generation.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/hanm/zookeeper ZOOKEEPER-2636
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/zookeeper/pull/115.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #115
----
commit 8b2df1dca353946cd265c217e4010d3f080943ba
Author: Michael Han <[email protected]>
Date: 2016-11-24T21:32:16Z
Fix C client build break caused by ZOOKEEPER-2628.
----
> Fix C build break.
> ------------------
>
> Key: ZOOKEEPER-2636
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2636
> Project: ZooKeeper
> Issue Type: Bug
> Components: jute
> Affects Versions: 3.5.3
> Reporter: Michael Han
> Assignee: Michael Han
> Priority: Blocker
> Fix For: 3.5.3, 3.6.0
>
>
> C client build is broken after ZOOKEEPER-2628 is merged in. After a little
> debug, I find out that the build is broken because the zookeeper.jute.h and
> zookeeper.jute.c are not completely generated.
> * The culprit is the code change introduced in ZOOKEEPER-2628, where we wraps
> {code}JRecord.genCCode{code} with a try / catch / finally block and the file
> writers were prematurely closed in finally block which prevents remaining of
> the zookeeper.jute.h/c file being generated.
> * This fix is made because a find bug warning was directly associated with
> the code. Due to the subtlety of the file writer ownership, we did not
> capture the issue during code review.
> * The build break was not captured in pre-commit builds as well ([an
> example|https://builds.apache.org/job/PreCommit-ZOOKEEPER-github-pr-build/72//console]),
> where we get all tests passed including C client tests. I suspect we might
> have another bug with cached generated files that should be regenerated but
> we don't - need more investigation on this one.
> * The fix is simple by revert the change to this specific method. Findbug
> does not complain anymore because the previous warning that appertain to this
> code block was fixed at the call site of {code}JRecord.genCCode{code}. So by
> reverting the change we still have zero find bug warnings.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)