[jira] [Updated] (LUCENE-5537) Fix version check in TestCheckIndexes

2014-03-18 Thread Uwe Schindler (JIRA)

 [ 
https://issues.apache.org/jira/browse/LUCENE-5537?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Uwe Schindler updated LUCENE-5537:
--

Description: 
The crazy version check in TestCheckIndexes is broken. Whenever it fails, it 
requires a horrible amount of understanding:
- error messages are useless
- you don't know what it really checks and why (no documentation)

In addition, we have no clear workflow how to handle version updates:
- In 4.6 series we never set the dev.version in common-build to 4.6.1, it 
always stayed 4.6. The test worked therefore, because the LUCENE_MAIN_VERSION 
(which is always x.y) was identical
- In 4.7 [~steve_rowe] changed the version to the real release version in the 
branch. The test failed because of this change (LUCENE_MAIN_VERSION was not 
identical as the dotted bugfix version)

We should in any case fix the test:
- move it out of TestCheckIndex, it should be in oal.util.TestConstants
- Be more verbose on loggin
- Remove special cases (leftovers from 4.0-BETA) where we did crazy stuff to 
make this test pass in alphas and betas.
- Only add a check to LUCENE_MAIN_VERSION that it is in format x.y (which is 
required by Lucene index format), and only check that it is the prefix of the 
real version as reported by common_build.xml.

We should also document and write down when we change the version numbers. I 
would prefer to use the variant of Lucene 4.6: never change the version number 
in common-build and override it while building artifacts.

  was:
The crazy version check in TestCheckIndexes is broken. Whenever it fails, it 
requires a horrible amount of understanding:
- error messages are useless
- you don't know what it really checks and why (no documentation)

In addition, we have no clear workflow how to handle version updates:
- In 4.6 series we never set the dev.version in common-build to 4.6.1, it 
always stayed 4.6. The test worked therefore, because the LUCENE_MAIN_VERSION 
(which is always x.y) was identical
- In 4.7 [~steve_rowe] changed the version to the real release version in the 
branch. The test failed because of this change (LUCENE_MAIN_VERSION was not 
identical as the dotted bugfix version)

We should in any case fix the test:
- move it out of TestCheckIndex, it should be in oal.util.TestConstants
- Be more verbose on loggin
- Remove special cases (leftovers from 4.0-BETA) where we did crazy stuff to 
make this test pass in alphas and betas.

We should also document and write down when we change the version numbers. I 
would prefer to use the variant of Lucene 4.6: never change the version number 
in common-build and override it while building artifacts.


 Fix version check in TestCheckIndexes
 -

 Key: LUCENE-5537
 URL: https://issues.apache.org/jira/browse/LUCENE-5537
 Project: Lucene - Core
  Issue Type: Bug
  Components: core/other
Affects Versions: 4.7
Reporter: Uwe Schindler
Assignee: Uwe Schindler
Priority: Blocker
 Fix For: 4.8, 5.0, 4.7.1


 The crazy version check in TestCheckIndexes is broken. Whenever it fails, it 
 requires a horrible amount of understanding:
 - error messages are useless
 - you don't know what it really checks and why (no documentation)
 In addition, we have no clear workflow how to handle version updates:
 - In 4.6 series we never set the dev.version in common-build to 4.6.1, it 
 always stayed 4.6. The test worked therefore, because the LUCENE_MAIN_VERSION 
 (which is always x.y) was identical
 - In 4.7 [~steve_rowe] changed the version to the real release version in the 
 branch. The test failed because of this change (LUCENE_MAIN_VERSION was not 
 identical as the dotted bugfix version)
 We should in any case fix the test:
 - move it out of TestCheckIndex, it should be in oal.util.TestConstants
 - Be more verbose on loggin
 - Remove special cases (leftovers from 4.0-BETA) where we did crazy stuff to 
 make this test pass in alphas and betas.
 - Only add a check to LUCENE_MAIN_VERSION that it is in format x.y (which 
 is required by Lucene index format), and only check that it is the prefix of 
 the real version as reported by common_build.xml.
 We should also document and write down when we change the version numbers. I 
 would prefer to use the variant of Lucene 4.6: never change the version 
 number in common-build and override it while building artifacts.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

-
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org



[jira] [Updated] (LUCENE-5537) Fix version check in TestCheckIndexes

2014-03-18 Thread Uwe Schindler (JIRA)

 [ 
https://issues.apache.org/jira/browse/LUCENE-5537?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Uwe Schindler updated LUCENE-5537:
--

Attachment: LUCENE-5537.patch

Patch:
- Moves test to a separate file oal.util.TestConstants
- 2 test cases: One just checks that constants LUCENE_VERSION and 
LUCENE_MAIN_VERSION match, the other test just checks test setup (if ran via 
ANT)
- I removed the ALPHA/BETA handling in those version numbers. This was 
completely broken. If we have LUCENE 5.0 BETA, we should first decide how to 
declare LUCENE_MAIN_VERSION for those, to be able to change index format, if 
not finalized.

 Fix version check in TestCheckIndexes
 -

 Key: LUCENE-5537
 URL: https://issues.apache.org/jira/browse/LUCENE-5537
 Project: Lucene - Core
  Issue Type: Bug
  Components: core/other
Affects Versions: 4.7
Reporter: Uwe Schindler
Assignee: Uwe Schindler
Priority: Blocker
 Fix For: 4.8, 5.0, 4.7.1

 Attachments: LUCENE-5537.patch


 The crazy version check in TestCheckIndexes is broken. Whenever it fails, it 
 requires a horrible amount of understanding:
 - error messages are useless
 - you don't know what it really checks and why (no documentation)
 In addition, we have no clear workflow how to handle version updates:
 - In 4.6 series we never set the dev.version in common-build to 4.6.1, it 
 always stayed 4.6. The test worked therefore, because the LUCENE_MAIN_VERSION 
 (which is always x.y) was identical
 - In 4.7 [~steve_rowe] changed the version to the real release version in the 
 branch. The test failed because of this change (LUCENE_MAIN_VERSION was not 
 identical as the dotted bugfix version)
 We should in any case fix the test:
 - move it out of TestCheckIndex, it should be in oal.util.TestConstants
 - Be more verbose on loggin
 - Remove special cases (leftovers from 4.0-BETA) where we did crazy stuff to 
 make this test pass in alphas and betas.
 - Only add a check to LUCENE_MAIN_VERSION that it is in format x.y (which 
 is required by Lucene index format), and only check that it is the prefix of 
 the real version as reported by common_build.xml.
 We should also document and write down when we change the version numbers. I 
 would prefer to use the variant of Lucene 4.6: never change the version 
 number in common-build and override it while building artifacts.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

-
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org



[jira] [Updated] (LUCENE-5537) Fix version check in TestCheckIndexes

2014-03-18 Thread Uwe Schindler (JIRA)

 [ 
https://issues.apache.org/jira/browse/LUCENE-5537?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Uwe Schindler updated LUCENE-5537:
--

Attachment: LUCENE-5537.patch

Patch including alpha beta checks. I hardened the whole thing, so we ensure: 
LUCENE_MAIN_VERSION is x.y or x.y.0.z, all other version numbers are 
refused.

Is this OK for you, Robert. I also added documentation, so we have a documented 
pattern for alpha/beta versions.

 Fix version check in TestCheckIndexes
 -

 Key: LUCENE-5537
 URL: https://issues.apache.org/jira/browse/LUCENE-5537
 Project: Lucene - Core
  Issue Type: Bug
  Components: core/other
Affects Versions: 4.7
Reporter: Uwe Schindler
Assignee: Uwe Schindler
Priority: Blocker
 Fix For: 4.8, 5.0, 4.7.1

 Attachments: LUCENE-5537.patch, LUCENE-5537.patch


 The crazy version check in TestCheckIndexes is broken. Whenever it fails, it 
 requires a horrible amount of understanding:
 - error messages are useless
 - you don't know what it really checks and why (no documentation)
 In addition, we have no clear workflow how to handle version updates:
 - In 4.6 series we never set the dev.version in common-build to 4.6.1, it 
 always stayed 4.6. The test worked therefore, because the LUCENE_MAIN_VERSION 
 (which is always x.y) was identical
 - In 4.7 [~steve_rowe] changed the version to the real release version in the 
 branch. The test failed because of this change (LUCENE_MAIN_VERSION was not 
 identical as the dotted bugfix version)
 We should in any case fix the test:
 - move it out of TestCheckIndex, it should be in oal.util.TestConstants
 - Be more verbose on loggin
 - Remove special cases (leftovers from 4.0-BETA) where we did crazy stuff to 
 make this test pass in alphas and betas.
 - Only add a check to LUCENE_MAIN_VERSION that it is in format x.y (which 
 is required by Lucene index format), and only check that it is the prefix of 
 the real version as reported by common_build.xml.
 We should also document and write down when we change the version numbers. I 
 would prefer to use the variant of Lucene 4.6: never change the version 
 number in common-build and override it while building artifacts.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

-
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org



[jira] [Updated] (LUCENE-5537) Fix version check in TestCheckIndexes

2014-03-18 Thread Uwe Schindler (JIRA)

 [ 
https://issues.apache.org/jira/browse/LUCENE-5537?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Uwe Schindler updated LUCENE-5537:
--

Attachment: LUCENE-5537.patch

I improved the test a bit, I think now it is ready to commit:
- removed obsolete test
- relaxed the startsWith part of the verson property to only search for common 
prefix, not explicit startsWith. We have to do this, because our test cases are 
running against a non-jar classpath, so we have no manifest file with version 
numbers.

Unfortunately: Because we don't run test with a real JAR file, we have no 
manifest, so we would not detect all problems. To ensure also the version 
constants from a real lucene-core.jar file are OK, we would need to test 
against one.

I will commit and backport this in a minute (to fix 4.7 builds).

 Fix version check in TestCheckIndexes
 -

 Key: LUCENE-5537
 URL: https://issues.apache.org/jira/browse/LUCENE-5537
 Project: Lucene - Core
  Issue Type: Bug
  Components: core/other
Affects Versions: 4.7
Reporter: Uwe Schindler
Assignee: Uwe Schindler
Priority: Blocker
 Fix For: 4.8, 5.0, 4.7.1

 Attachments: LUCENE-5537.patch, LUCENE-5537.patch, LUCENE-5537.patch


 The crazy version check in TestCheckIndexes is broken. Whenever it fails, it 
 requires a horrible amount of understanding:
 - error messages are useless
 - you don't know what it really checks and why (no documentation)
 In addition, we have no clear workflow how to handle version updates:
 - In 4.6 series we never set the dev.version in common-build to 4.6.1, it 
 always stayed 4.6. The test worked therefore, because the LUCENE_MAIN_VERSION 
 (which is always x.y) was identical
 - In 4.7 [~steve_rowe] changed the version to the real release version in the 
 branch. The test failed because of this change (LUCENE_MAIN_VERSION was not 
 identical as the dotted bugfix version)
 We should in any case fix the test:
 - move it out of TestCheckIndex, it should be in oal.util.TestConstants
 - Be more verbose on loggin
 - Remove special cases (leftovers from 4.0-BETA) where we did crazy stuff to 
 make this test pass in alphas and betas.
 - Only add a check to LUCENE_MAIN_VERSION that it is in format x.y (which 
 is required by Lucene index format), and only check that it is the prefix of 
 the real version as reported by common_build.xml.
 We should also document and write down when we change the version numbers. I 
 would prefer to use the variant of Lucene 4.6: never change the version 
 number in common-build and override it while building artifacts.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

-
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org



[jira] [Updated] (LUCENE-5537) Fix version check in TestCheckIndexes

2014-03-18 Thread Uwe Schindler (JIRA)

 [ 
https://issues.apache.org/jira/browse/LUCENE-5537?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Uwe Schindler updated LUCENE-5537:
--

Attachment: LUCENE-5537.patch

I added another sanity check: The last LUCENE_XY constant must be returned when 
parsing the LUCENE_MAIN_VERSION constant.

When looking at this, I found out that we have a problem with 
{{Version.LUCENE_XY}} constants after Lucene 4.9! :-) The parser cannot handle 
this (e.g. 4.10 cannot be converted to {{LUCENE_XY}}), but also the possible 
constant looks wrong: {{LUCENE_410}} - really?

Nevertheless it is now ready to commit. The 4.10 problems can be handled later, 
I have no idea how we should do this.

 Fix version check in TestCheckIndexes
 -

 Key: LUCENE-5537
 URL: https://issues.apache.org/jira/browse/LUCENE-5537
 Project: Lucene - Core
  Issue Type: Bug
  Components: core/other
Affects Versions: 4.7
Reporter: Uwe Schindler
Assignee: Uwe Schindler
Priority: Blocker
 Fix For: 4.8, 5.0, 4.7.1

 Attachments: LUCENE-5537.patch, LUCENE-5537.patch, LUCENE-5537.patch, 
 LUCENE-5537.patch


 The crazy version check in TestCheckIndexes is broken. Whenever it fails, it 
 requires a horrible amount of understanding:
 - error messages are useless
 - you don't know what it really checks and why (no documentation)
 In addition, we have no clear workflow how to handle version updates:
 - In 4.6 series we never set the dev.version in common-build to 4.6.1, it 
 always stayed 4.6. The test worked therefore, because the LUCENE_MAIN_VERSION 
 (which is always x.y) was identical
 - In 4.7 [~steve_rowe] changed the version to the real release version in the 
 branch. The test failed because of this change (LUCENE_MAIN_VERSION was not 
 identical as the dotted bugfix version)
 We should in any case fix the test:
 - move it out of TestCheckIndex, it should be in oal.util.TestConstants
 - Be more verbose on loggin
 - Remove special cases (leftovers from 4.0-BETA) where we did crazy stuff to 
 make this test pass in alphas and betas.
 - Only add a check to LUCENE_MAIN_VERSION that it is in format x.y (which 
 is required by Lucene index format), and only check that it is the prefix of 
 the real version as reported by common_build.xml.
 We should also document and write down when we change the version numbers. I 
 would prefer to use the variant of Lucene 4.6: never change the version 
 number in common-build and override it while building artifacts.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

-
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org