BTW, the screenshot is from our internal cluster. 0.10.2.y is our internal 
version. It basically has everything critical from 1.x. 

> On Aug 15, 2019, at 10:15 AM, Ethan Li <ethanopensou...@gmail.com> wrote:
> 
> It was added for backwards compatibility. 
> 
> Apache Storm 2.x supports running older version of workers. So users can 
> submit 1.x topology on a 2.x Storm cluster. We have been using it in this way 
> until we move all our users to use 2.x topology.  This is nice feature so 
> that users can migrate gradually. 
> 
> To support this, Apache Storm needs to be set up with 
> supervisor.worker.version.classpath.map config which tells supervisors where 
> to find the classes for this specific version of topology. If the topology 
> is 1.x, there is no storm-client jar. The version info is found in storm-core 
> jar.  That’s why it’s introduced. We should probably keep it. 
> 
> 
> <Screen Shot 2019-08-15 at 10.13.33 AM.png>
> 
>> On Aug 15, 2019, at 9:57 AM, Stig Rohde Døssing <stigdoess...@gmail.com 
>> <mailto:stigdoess...@gmail.com>> wrote:
>> 
>> Oops, was wrong. The revision stuff is also being read by Storm UI.
>> 
>> Yes, we should just fix VersionInfoMojo to handle running outside SCM. I'll
>> put up a PR to fix it shortly. I think we can also delete the version info
>> file in storm-core. I can't think of any reason why storm-core would be on
>> the classpath, but storm-client wouldn't be.
>> 
>> Den tor. 15. aug. 2019 kl. 16.24 skrev Ethan Li <ethanopensou...@gmail.com 
>> <mailto:ethanopensou...@gmail.com>>:
>> 
>>> Sorry for typos. I meant "If it’s not built within git or SCM"
>>> 
>>>> On Aug 15, 2019, at 9:23 AM, Ethan Li <ethanopensou...@gmail.com 
>>>> <mailto:ethanopensou...@gmail.com>> wrote:
>>>> 
>>>> I prefer to revert the change in VersionInfoMojo. These fields
>>> version-info.properties are introduced on purpose in
>>> https://github.com/apache/storm/pull/2844 
>>> <https://github.com/apache/storm/pull/2844> <
>>> https://github.com/apache/storm/pull/2844 
>>> <https://github.com/apache/storm/pull/2844>>
>>> https://github.com/apache/storm/pull/2891 
>>> <https://github.com/apache/storm/pull/2891> <
>>> https://github.com/apache/storm/pull/2891 
>>> <https://github.com/apache/storm/pull/2891>> so we should probably keep it.
>>>> 
>>>> It makes sense to return unknown if it’s built within git or SCM as
>>> there is no other way to tell.
>>>> 
>>>> 
>>>>> On Aug 15, 2019, at 9:12 AM, Derek Dagit <da...@apache.org 
>>>>> <mailto:da...@apache.org> <mailto:
>>> da...@apache.org <mailto:da...@apache.org>>> wrote:
>>>>> 
>>>>> Well, the change seems to be to throw an IllegalArgumentException
>>>>> instead of what was the default behavior: to return a String "Unknown".
>>>>> 
>>>>> It is unclear how it would work outside of a Git working tree (as when
>>>>> the source is built from a download), so it seems the easiest fix would
>>>>> be to change the default labels to do nothing and revert to the previous
>>>>> behavior—if we can convince checkstyle that it is OK.
>>>>> 
>>>>> A better fix might be as you suggested. I like the idea of the build not
>>>>> behaving differently depending on if it is executed within SCM, at least
>>>>> if we can help it.
>>>>> 
>>>>> In any case, I am inclined to think that this should be fixed before the
>>>>> release, as it is a bug that prevents the code from building as per our
>>>>> instructions.
>>>>> 
>>>>> On Thu, Aug 15, 2019 at 02:08:17PM +0200, Stig Rohde Døssing wrote:
>>>>>> 
>>>>>> As far as I can tell, the version plugin is supposed to populate these
>>>>>> files
>>>>>> 
>>> https://github.com/apache/storm/blob/master/storm-client/src/resources/storm-client-version-info.properties
>>>  
>>> <https://github.com/apache/storm/blob/master/storm-client/src/resources/storm-client-version-info.properties>
>>> <
>>> https://github.com/apache/storm/blob/master/storm-client/src/resources/storm-client-version-info.properties
>>>  
>>> <https://github.com/apache/storm/blob/master/storm-client/src/resources/storm-client-version-info.properties>
>>>> 
>>>>>> and
>>>>>> 
>>> https://github.com/apache/storm/blob/master/storm-core/src/resources/storm-core-version-info.properties
>>> .
>>>>>> I'm not sure why we need this file in both storm-client and
>>> storm-core, I'm
>>>>>> not sure anything reads the storm-core file, so maybe we can delete it?
>>>>>> 
>>>>>> When the build runs, those files are supposed to be populated with
>>> version
>>>>>> info (commit hash, author info and so on) from the plugin. The version
>>> info
>>>>>> is then read into
>>>>>> 
>>> https://github.com/apache/storm/blob/925422a5b5ad1c3329a2c2b44db460ae94f70806/storm-client/src/jvm/org/apache/storm/utils/VersionInfo.java
>>> .
>>>>>> The VersionInfo file also loads the Storm version from the pom, where
>>> it's
>>>>>> used to populate e.g. the version in Storm UI for Nimbus and
>>> Supervisors.
>>>>>> 
>>>>>> It looks like this:
>>>>>> 
>>>>>> version=2.0.0
>>>>>> revision=2ba95bbd1c911d4fc6363b1c4b9c4c6d86ac9aae
>>>>>> branch=(no branch)
>>>>>> user=tgoetz
>>>>>> date=2019-04-29T21:17Z
>>>>>> url=https://git-wip-us.apache.org/repos/asf/storm.git
>>>>>> srcChecksum=58779abf76d8a8bbd20a2bd5f466
>>>>>> 
>>>>>> The only field I see read is the Storm version from the pom, I'm not
>>> sure
>>>>>> we use the other stuff (e.g. commit hash, commit author). For 2.0.0
>>>>>> something broke when splitting out storm-client, so the file for that
>>>>>> module doesn't have all fields populated:
>>>>>> 
>>>>>> version=2.0.0
>>>>>> revision=${version-info.scm.commit}
>>>>>> branch=${version-info.scm.branch}
>>>>>> user=tgoetz
>>>>>> date=${version-info.build.time}
>>>>>> url=${version-info.scm.uri}
>>>>>> srcChecksum=${version-info.source.md5}
>>>>>> 
>>>>>> It's most likely just because storm-client is missing configuration to
>>> run
>>>>>> the plugin when building.
>>>>>> 
>>>>>> I think if we're not using these extra fields from git, we might as
>>> well
>>>>>> drop the version info mojo. If we only need to set the "version"
>>> field, we
>>>>>> don't need to invoke git during the build.
>>>>>> 
>>>>>> If we do need these fields for something, we should just make the mojo
>>> set
>>>>>> the fields to "Unknown" if it fails to invoke git (i.e. if SCM.NONE is
>>>>>> set). I'm guessing what's happening for Derek is that he downloaded the
>>>>>> sources and is trying to run the build with files that aren't part of
>>> a git
>>>>>> repo. So when the mojo tries to do "git branch" it gets an error.
>>>>>> 
>>>>>> What do you think?
>>>>>> 
>>>>>> Den tor. 15. aug. 2019 kl. 06.02 skrev Ethan Li <
>>> ethanopensou...@gmail.com>:
>>>>>> 
>>>>>>> Derek ran into this error when building from source:
>>>>>>> 
>>>>>>> [ERROR] Failed to execute goal
>>>>>>> org.apache.storm:storm-maven-plugins:2.1.0:version-info
>>> (version-info) on
>>>>>>> project storm-core: java.lang.IllegalArgumentException: SCM NONE is
>>> not
>>>>>>> supported -> [Help 1]
>>>>>>> 
>>>>>>> 
>>>>>>> The log before this is
>>>>>>> 
>>>>>>> [INFO] --- storm-maven-plugins:2.1.0:version-info (version-info) @
>>>>>>> storm-core ---
>>>>>>> [WARNING] [svn, info] failed with error code 1
>>>>>>> [WARNING] [git, branch] failed with error code 128
>>>>>>> [INFO] SCM: NONE
>>>>>>> 
>>>>>>> 
>>>>>>> I compared with apache-storm-2.0.0 and found that it can pass although
>>>>>>> there are similar WARNINGs:
>>>>>>> 
>>>>>>> [INFO] --- storm-maven-plugins:2.0.0:version-info (version-info) @
>>>>>>> storm-core ---
>>>>>>> [WARNING] [svn, info] failed with error code 1
>>>>>>> [WARNING] [git, branch] failed with error code 128
>>>>>>> [INFO] SCM: NONE
>>>>>>> [INFO] Computed MD5: 58779abf76d8a8bbd20a2bd5f466
>>>>>>> 
>>>>>>> This is the PR that changed the behavior
>>>>>>> 
>>> https://github.com/apache/storm/pull/3061/files#diff-f1197661326b04376e94e3b25cc3eedcR197
>>>>>>> <
>>>>>>> 
>>> https://github.com/apache/storm/pull/3061/files#diff-f1197661326b04376e94e3b25cc3eedcR197
>>>> .
>>>>>>> I am not sure what this storm-maven-plugin should do though. Will
>>> need to
>>>>>>> look into it. Or if anyone has better idea, please let me know.
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>>> On Aug 14, 2019, at 6:53 PM, P. Taylor Goetz <ptgo...@gmail.com>
>>> wrote:
>>>>>>>> 
>>>>>>>> Nice work Ethan!
>>>>>>>> 
>>>>>>>> I’ll try to take a look in the next few days.
>>>>>>>> 
>>>>>>>> -Taylor
>>>>>>>> 
>>>>>>>>> On Aug 14, 2019, at 2:13 PM, Ethan Li <etha...@apache.org> wrote:
>>>>>>>>> 
>>>>>>>>> This is a call to vote on releasing Apache Storm 2.1.0 (rc2)
>>>>>>>>> 
>>>>>>>>> Full list of changes in this release:
>>>>>>>>> 
>>>>>>>>> 
>>>>>>> 
>>> https://dist.apache.org/repos/dist/dev/storm/apache-storm-2.1.0-rc2/RELEASE_NOTES.html
>>>>>>>>> 
>>>>>>>>> The tag/commit to be voted upon is v2.1.0:
>>>>>>>>> 
>>>>>>>>> 
>>>>>>> 
>>> https://gitbox.apache.org/repos/asf?p=storm.git;a=tree;h=6c7adb8c7095cb718d5c49d07331034ae0e8434a;hb=f875619fc1017e401d65bd2900b195738f90e754
>>>>>>>>> 
>>>>>>>>> The source archive being voted upon can be found here:
>>>>>>>>> 
>>>>>>>>> 
>>>>>>> 
>>> https://dist.apache.org/repos/dist/dev/storm/apache-storm-2.1.0-rc2/apache-storm-2.1.0-src.tar.gz
>>>>>>>>> 
>>>>>>>>> Other release files, signatures and digests can be found here:
>>>>>>>>> 
>>>>>>>>> https://dist.apache.org/repos/dist/dev/storm/apache-storm-2.1.0-rc2
>>>>>>>>> 
>>>>>>>>> The release artifacts are signed with the following key:
>>>>>>>>> 
>>>>>>>>> https://www.apache.org/dist/storm/KEYS
>>>>>>>>> 
>>>>>>>>> The Nexus staging repository for this release is:
>>>>>>>>> 
>>>>>>>>> 
>>> https://repository.apache.org/content/repositories/orgapachestorm-1085/
>>>>>>>>> 
>>>>>>>>> Please vote on releasing this package as Apache Storm 2.1.0.
>>>>>>>>> 
>>>>>>>>> When voting, please list the actions taken to verify the release.
>>>>>>>>> 
>>>>>>>>> This vote will be open for at least 72 hours.
>>>>>>>>> 
>>>>>>>>> [ ] +1 Release this package as Apache Storm 2.1.0
>>>>>>>>> [ ]  0 No opinion
>>>>>>>>> [ ] -1 Do not release this package because...
>>>>>>>>> 
>>>>>>>>> Thanks to everyone who contributed to this release.
>>>>>>>>> 
>>>>>>>>> Ethan
> 

Reply via email to