Home | About | Sematext search-lucene.com search-hadoop.com
 Search Hadoop and all its subprojects:

Switch to Threaded View
Kafka >> mail # user >> Re: Building kafka 0.8 in Intellij (was: Dead code?)


Copy link to this message
-
Re: Building kafka 0.8 in Intellij (was: Dead code?)
Thanks for looking into this, Dragos. We should remove ""com.github.sgroschupf"
% "zkclient"    % "0.1"," from the build.sbt files. Would you like to
create a JIRA and/or attach a patch ?

-Neha
On Thu, Mar 14, 2013 at 5:21 PM, Dragos Manolescu <
[EMAIL PROTECTED]> wrote:

> I dug into this and found a problem. The kafka build files show
> dependencies on two different versions of the zkclient code:
>
> In core/build.sbt:
>
> libraryDependencies ++= Seq(
>   "org.apache.zookeeper"  % "zookeeper"   % "3.3.4",
> "com.github.sgroschupf" % "zkclient"    % "0.1",
>   "org.xerial.snappy"     % "snappy-java" % "1.0.4.1",
>   "org.easymock"          % "easymock"    % "3.0" % "test",
>   "junit"                 % "junit"       % "4.1" % "test"
> )
>
> And in project/Build.scala:
>
>   // POM Tweaking for core:
>   def zkClientDep =
>     <dependency>
>       <groupId>zkclient</groupId>
>       <artifactId>zkclient</artifactId>
>       <version>20120522</version>
>       <scope>compile</scope>
>     </dependency>
>
>
> In version 0.1 of com.github.sgroschupf.ZkClient (listed in build.sbt)
> writeData doesn't return anything (http://j.mp/XBnn5g), which causes the
> compile error from my initial message (see below); that changed in 0.2
> (http://j.mp/WqUx4x).
>
> zkclient-20120522 (listed in Build.scala) is checked in as a JAR in the
> core/lib folder (http://j.mp/10U4XgE).
>
> I haven't researched why between sbt and IntelliJ ZkClient resolves
> differently, and don't know the history behind the "POM tweaking" comment
> above. I was able to build Kafka in IntelliJ by removing the reference to
> com.github.sgroschupf.ZkClient. Perhaps this is a leftover from 0.7.2 (I
> if I recall correctly it depends on 0.1)?
>
> At any rate if anybody runs into similar problems when building in InteliJ
> I hope that this fix addresses them. Comments welcome.
>
> Thanks,
>
> -Dragos
>
>
>
> On 3/14/13 11:30 AM, "Dragos Manolescu" <[EMAIL PROTECTED]>
> wrote:
>
> >Hi Neha --
> >
> >Thanks for the prompt answer. Yes that's what I did to open the project in
> >IntelliJ.
> >
> >-Dragos
> >
> >On 3/14/13 11:22 AM, "Neha Narkhede" <[EMAIL PROTECTED]> wrote:
> >
> >>You can do ./sbt gen-idea to build the Intellij project .iml files.
> >>
> >>Thanks,
> >>Neha
> >>
> >>
> >>On Thu, Mar 14, 2013 at 11:20 AM, Dragos Manolescu <
> >>[EMAIL PROTECTED]> wrote:
> >>
> >>> Hi --
> >>>
> >>> For the last couple of days I've been going through the 0.8 code as I'm
> >>> porting some 0.7.2 producers and consumers to the 0.8 API. While sbt
> >>> compiles the sources and indicates that 196 tests pass (I use Scala
> >>>2.9.2),
> >>> I haven't been able to successfully build Kafka in IntelliJ (after
> >>> generating the IDEA project with gen-idea). The errors are in ZkUtils;
> >>> here's the first one, with subsequent errors caused by the absence of
> >>>the
> >>> returned value (of type org.apache.zookeeper.data.Stat).
> >>>
> >>> scala: type mismatch;
> >>>  found   : Unit
> >>>  required: org.apache.zookeeper.data.Stat
> >>>       stat = client.writeData(path, data)
> >>>                              ^
> >>> As far as I can tell writeData is provided by
> >>> org.I0Itec.zkclient.ZkClient, and its return type is void rather than
> >>>Stat;
> >>> here's the signature:
> >>>
> >>>     public void writeData(String path, Object object) {
> >>>         writeData(path, object, -1);
> >>>     }
> >>>
> >>> I thought that this might be dead code; however IntelliJ shows ZkUtils
> >>> being used in the kafka, other and unit modules :-/
> >>>
> >>> How do you marry IntelliJ with Kafka?
> >>>
> >>> Thanks,
> >>>
> >>> -Dragos
> >>>
> >
>
>