Actually, Jun suggested exposing this via JMX.

On Wed, Nov 12, 2014 at 9:31 AM, Gwen Shapira <gshap...@cloudera.com> wrote:

> 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 <wiz...@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 <wangg...@gmail.com> wrote:
>> >
>> > Sounds great, +1 on this.
>> >
>> >> On Tue, Nov 11, 2014 at 1:36 PM, Gwen Shapira <gshap...@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.bhav...@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 <gshap...@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 <jun...@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.gospodne...@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 <jun...@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.gospodne...@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
>>
>
>

Reply via email to