kafka-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gwen Shapira <gshap...@cloudera.com>
Subject Re: Programmatic Kafka version detection/extraction?
Date Wed, 12 Nov 2014 17:31:29 GMT
Good question.

The server will need to expose this in the protocol, so Kafka clients will
know what they are talking to.

We may also want to expose this in the producer and consumer, so people who
use Kafka's built-in clients will know which version they have in the
environment.



On Wed, Nov 12, 2014 at 9:09 AM, Mark Roberts <wizzat@gmail.com> wrote:

> Just to be clear: this is going to be exposed via some Api the clients can
> call at startup?
>
>
> > On Nov 12, 2014, at 08:59, Guozhang Wang <wangguoz@gmail.com> wrote:
> >
> > Sounds great, +1 on this.
> >
> >> On Tue, Nov 11, 2014 at 1:36 PM, Gwen Shapira <gshapira@cloudera.com>
> wrote:
> >>
> >> So it looks like we can use Gradle to add properties to manifest file
> and
> >> then use getResourceAsStream to read the file and parse it.
> >>
> >> The Gradle part would be something like:
> >> jar.manifest {
> >>            attributes('Implementation-Title': project.name,
> >>            'Implementation-Version': project.version,
> >>            'Built-By': System.getProperty('user.name'),
> >>            'Built-JDK': System.getProperty('java.version'),
> >>            'Built-Host': getHostname(),
> >>            'Source-Compatibility': project.sourceCompatibility,
> >>            'Target-Compatibility': project.targetCompatibility
> >>            )
> >>        }
> >>
> >> The code part would be:
> >>
> >>
> this.getClass().getClassLoader().getResourceAsStream("/META-INF/MANIFEST.MF")
> >>
> >> Does that look like the right approach?
> >>
> >> Gwen
> >>
> >> On Tue, Nov 11, 2014 at 10:43 AM, Bhavesh Mistry <
> >> mistry.p.bhavesh@gmail.com
> >>> wrote:
> >>
> >>> If is maven artifact then you will get following pre-build property
> file
> >>> from maven build called pom.properties under
> >>> /META-INF/maven/groupid/artifactId/pom.properties folder.
> >>>
> >>> Here is sample:
> >>> #Generated by Maven
> >>> #Mon Oct 10 10:44:31 EDT 2011
> >>> version=10.0.1
> >>> groupId=com.google.guava
> >>> artifactId=guava
> >>>
> >>> Thanks,
> >>>
> >>> Bhavesh
> >>>
> >>> On Tue, Nov 11, 2014 at 10:34 AM, Gwen Shapira <gshapira@cloudera.com>
> >>> wrote:
> >>>
> >>>> In Sqoop we do the following:
> >>>>
> >>>> Maven runs a shell script, passing the version as a parameter.
> >>>> The shell-script generates a small java class, which is then built
> >> with a
> >>>> Maven plugin.
> >>>> Our code references this generated class when we expose
> "getVersion()".
> >>>>
> >>>> Its complex and ugly, so I'm kind of hoping that there's a better way
> >> to
> >>> do
> >>>> it :)
> >>>>
> >>>> Gwen
> >>>>
> >>>>> On Tue, Nov 11, 2014 at 9:42 AM, Jun Rao <junrao@gmail.com>
wrote:
> >>>>>
> >>>>> Currently, the version number is only stored in our build config
> >> file,
> >>>>> gradle.properties. Not sure how we can automatically extract it
and
> >>>> expose
> >>>>> it in an mbean. How do other projects do this?
> >>>>>
> >>>>> Thanks,
> >>>>>
> >>>>> Jun
> >>>>>
> >>>>> On Tue, Nov 11, 2014 at 7:05 AM, Otis Gospodnetic <
> >>>>> otis.gospodnetic@gmail.com> wrote:
> >>>>>
> >>>>>> Hi Jun,
> >>>>>>
> >>>>>> Sounds good.  But is the version number stored anywhere from
where
> >> it
> >>>>> could
> >>>>>> be gotten?
> >>>>>>
> >>>>>> Thanks,
> >>>>>> Otis
> >>>>>> --
> >>>>>> Monitoring * Alerting * Anomaly Detection * Centralized Log
> >>> Management
> >>>>>> Solr & Elasticsearch Support * http://sematext.com/
> >>>>>>
> >>>>>>
> >>>>>> On Tue, Nov 11, 2014 at 12:45 AM, Jun Rao <junrao@gmail.com>
> >> wrote:
> >>>>>>
> >>>>>>> Otis,
> >>>>>>>
> >>>>>>> We don't have an api for that now. We can probably expose
this
> >> as a
> >>>> JMX
> >>>>>> as
> >>>>>>> part of kafka-1481.
> >>>>>>>
> >>>>>>> Thanks,
> >>>>>>>
> >>>>>>> Jun
> >>>>>>>
> >>>>>>> On Mon, Nov 10, 2014 at 7:17 PM, Otis Gospodnetic <
> >>>>>>> otis.gospodnetic@gmail.com> wrote:
> >>>>>>>
> >>>>>>>> Hi,
> >>>>>>>>
> >>>>>>>> Is there a way to detect which version of Kafka one
is running?
> >>>>>>>> Is there an API for that, or a constant with this value,
or
> >> maybe
> >>>> an
> >>>>>>> MBean
> >>>>>>>> or some other way to get to this info?
> >>>>>>>>
> >>>>>>>> Thanks,
> >>>>>>>> Otis
> >>>>>>>> --
> >>>>>>>> Monitoring * Alerting * Anomaly Detection * Centralized
Log
> >>>>> Management
> >>>>>>>> Solr & Elasticsearch Support * http://sematext.com/
> >
> >
> >
> > --
> > -- Guozhang
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message