[jira] [Created] (LUCENENET-488) Can't open IndexReader, get OutOFMemory Exception

2012-05-01 Thread Steven (JIRA)
Steven created LUCENENET-488:


 Summary: Can't open IndexReader, get OutOFMemory Exception
 Key: LUCENENET-488
 URL: https://issues.apache.org/jira/browse/LUCENENET-488
 Project: Lucene.Net
  Issue Type: Bug
  Components: Lucene.Net Core
Affects Versions: Lucene.Net 2.9.4g
 Environment: Windows server 2008R2
Reporter: Steven


Have build a large database with ~1Bn records (2 items per document) it has 
size 200GB on disk. I managed to write the indexe by chunking into 100,000 
blocks as I ended up with some threading issues (another bug submission). 
Anyway the index is built but I can't open it and get a memory exception 
(process explorer gets to 1.5GB allocated before it dies but not sure how 
reliable that is, but do know there is plenty more RAM left on the box).
Stack trace below:

System.OutOfMemoryException: Exception of type 'System.OutOfMemoryException' was
 thrown.
   at Lucene.Net.Index.TermInfosReader..ctor(Directory dir, String seg, FieldInf
os fis, Int32 readBufferSize, Int32 indexDivisor)
   at Lucene.Net.Index.SegmentReader.CoreReaders..ctor(SegmentReader origInstanc
e, Directory dir, SegmentInfo si, Int32 readBufferSize, Int32 termsIndexDivisor)

   at Lucene.Net.Index.SegmentReader.Get(Boolean readOnly, Directory dir, Segmen
tInfo si, Int32 readBufferSize, Boolean doOpenStores, Int32 termInfosIndexDiviso
r)
   at Lucene.Net.Index.SegmentReader.Get(Boolean readOnly, SegmentInfo si, Int32
 termInfosIndexDivisor)
   at Lucene.Net.Index.DirectoryReader..ctor(Directory directory, SegmentInfos s
is, IndexDeletionPolicy deletionPolicy, Boolean readOnly, Int32 termInfosIndexDi
visor)
   at Lucene.Net.Index.DirectoryReader.c__DisplayClass1.Openb__0(String segm
entFileName)
   at Lucene.Net.Index.SegmentInfos.FindSegmentsFile.Run(IndexCommit commit)
   at Lucene.Net.Index.DirectoryReader.Open(Directory directory, IndexDeletionPo
licy deletionPolicy, IndexCommit commit, Boolean readOnly, Int32 termInfosIndexD
ivisor)
   at Lucene.Net.Index.IndexReader.Open(String path, Boolean readOnly)
   at Lucene.Net.Demo.SearchFiles.Main(String[] args)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




Re: including external code under apache 2.0

2012-05-01 Thread Stefan Bodewig
On 2012-04-30, Itamar Syn-Hershko wrote:

 ICLA signed and sent

and recorded by the secretary.  Your name appears in this list

http://people.apache.org/committer-index.html#unlistedclas

as well.

Many thanks

 Stefan


[JENKINS] Lucene-Solr-tests-only-trunk-java7 - Build # 2390 - Failure

2012-05-01 Thread Apache Jenkins Server
Build: https://builds.apache.org/job/Lucene-Solr-tests-only-trunk-java7/2390/

1 tests failed.
FAILED:  
junit.framework.TestSuite.org.apache.solr.handler.TestReplicationHandler

Error Message:
ERROR: SolrIndexSearcher opens=74 closes=73

Stack Trace:
java.lang.AssertionError: ERROR: SolrIndexSearcher opens=74 closes=73
at __randomizedtesting.SeedInfo.seed([6E989BE3D16133D1]:0)
at org.junit.Assert.fail(Assert.java:93)
at 
org.apache.solr.SolrTestCaseJ4.endTrackingSearchers(SolrTestCaseJ4.java:212)
at 
org.apache.solr.SolrTestCaseJ4.afterClassSolrTestCase(SolrTestCaseJ4.java:101)
at sun.reflect.GeneratedMethodAccessor17.invoke(Unknown Source)
at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at 
com.carrotsearch.randomizedtesting.RandomizedRunner.invoke(RandomizedRunner.java:1913)
at 
com.carrotsearch.randomizedtesting.RandomizedRunner.access$1100(RandomizedRunner.java:131)
at 
com.carrotsearch.randomizedtesting.RandomizedRunner$5.evaluate(RandomizedRunner.java:741)
at 
org.apache.lucene.util.SystemPropertiesRestoreRule$1.evaluate(SystemPropertiesRestoreRule.java:63)
at 
org.apache.lucene.util.UncaughtExceptionsRule$1.evaluate(UncaughtExceptionsRule.java:75)
at 
org.apache.lucene.util.StoreClassNameRule$1.evaluate(StoreClassNameRule.java:38)
at 
org.apache.lucene.util.SystemPropertiesInvariantRule$1.evaluate(SystemPropertiesInvariantRule.java:69)
at 
com.carrotsearch.randomizedtesting.RandomizedRunner.runSuite(RandomizedRunner.java:604)
at 
com.carrotsearch.randomizedtesting.RandomizedRunner.access$400(RandomizedRunner.java:131)
at 
com.carrotsearch.randomizedtesting.RandomizedRunner$2.run(RandomizedRunner.java:550)




Build Log (for compile errors):
[...truncated 11318 lines...]



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

[jira] [Commented] (SOLR-3178) Versioning - optimistic locking

2012-05-01 Thread Per Steffensen (JIRA)

[ 
https://issues.apache.org/jira/browse/SOLR-3178?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13265685#comment-13265685
 ] 

Per Steffensen commented on SOLR-3178:
--

Agree, people have different preferences on how to use Solr, and therefore a.o. 
how the exact semantics of update should be. My solution is also better 
prepared for that, since I offer the semanticsMode property in updatehandler 
(DirectUpdateHandler2) where you can state if you want strict versioning 
(consistency mode) or the good old semantics (classic mode) or a mix 
(classic-consistency-mode mode). Guess we will always need to do 
leader-first-then-replica I cases where we want to do strict versioning 
control, but in classic mode (or a new future mode) we could certainly 
consider doing leader-and-replica-in-parallel. Will provide new patch today or 
tomorrow.

 Versioning - optimistic locking
 ---

 Key: SOLR-3178
 URL: https://issues.apache.org/jira/browse/SOLR-3178
 Project: Solr
  Issue Type: New Feature
  Components: update
Affects Versions: 3.5
 Environment: All
Reporter: Per Steffensen
Assignee: Per Steffensen
  Labels: RDBMS, insert, locking, nosql, optimistic, uniqueKey, 
 update, versioning
 Fix For: 4.0

 Attachments: SOLR-3178.patch, SOLR_3173_3178_3382_plus.patch

   Original Estimate: 168h
  Remaining Estimate: 168h

 In order increase the ability of Solr to be used as a NoSql database (lots of 
 concurrent inserts, updates, deletes and queries in the entire lifetime of 
 the index) instead of just a search index (first: everything indexed (in one 
 thread), after: only queries), I would like Solr to support versioning to be 
 used for optimistic locking.
 When my intent (see SOLR-3173) is to update an existing document, I will need 
 to provide a version-number equal to the version number I got when I fetched 
 the existing document for update plus one. If this provided version-number 
 does not correspond to the newest version-number of that document at the 
 time of update plus one, I will get a VersionConflict error. If it does 
 correspond the document will be updated with the new one, so that the newest 
 version-number of that document is NOW one higher than before the update. 
 Correct but efficient concurrency handling.
 When my intent (see SOLR-3173) is to insert a new document, the version 
 number provided will not be used - instead a version-number 0 will be used. 
 According to SOLR-3173 insert will only succeed if a document with the same 
 value on uniqueKey-field does not already exist.
 In general when talking about different versions of the same document, of 
 course we need to be able to identify when a document is the same - that, 
 per definition, is when the values of the uniqueKey-fields are equal. 
 The functionality provided by this issue is only really meaningfull when you 
 run with updateLog activated.
 This issue might be solved more or less at the same time as SOLR-3173, and 
 only one single SVN patch might be given to cover both issues.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira



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



[jira] [Commented] (SOLR-3178) Versioning - optimistic locking

2012-05-01 Thread Per Steffensen (JIRA)

[ 
https://issues.apache.org/jira/browse/SOLR-3178?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13265686#comment-13265686
 ] 

Per Steffensen commented on SOLR-3178:
--

Fire and forget will also be much cooler with a real async interface. We will 
provide that very soon - see SOLR-3383.

 Versioning - optimistic locking
 ---

 Key: SOLR-3178
 URL: https://issues.apache.org/jira/browse/SOLR-3178
 Project: Solr
  Issue Type: New Feature
  Components: update
Affects Versions: 3.5
 Environment: All
Reporter: Per Steffensen
Assignee: Per Steffensen
  Labels: RDBMS, insert, locking, nosql, optimistic, uniqueKey, 
 update, versioning
 Fix For: 4.0

 Attachments: SOLR-3178.patch, SOLR_3173_3178_3382_plus.patch

   Original Estimate: 168h
  Remaining Estimate: 168h

 In order increase the ability of Solr to be used as a NoSql database (lots of 
 concurrent inserts, updates, deletes and queries in the entire lifetime of 
 the index) instead of just a search index (first: everything indexed (in one 
 thread), after: only queries), I would like Solr to support versioning to be 
 used for optimistic locking.
 When my intent (see SOLR-3173) is to update an existing document, I will need 
 to provide a version-number equal to the version number I got when I fetched 
 the existing document for update plus one. If this provided version-number 
 does not correspond to the newest version-number of that document at the 
 time of update plus one, I will get a VersionConflict error. If it does 
 correspond the document will be updated with the new one, so that the newest 
 version-number of that document is NOW one higher than before the update. 
 Correct but efficient concurrency handling.
 When my intent (see SOLR-3173) is to insert a new document, the version 
 number provided will not be used - instead a version-number 0 will be used. 
 According to SOLR-3173 insert will only succeed if a document with the same 
 value on uniqueKey-field does not already exist.
 In general when talking about different versions of the same document, of 
 course we need to be able to identify when a document is the same - that, 
 per definition, is when the values of the uniqueKey-fields are equal. 
 The functionality provided by this issue is only really meaningfull when you 
 run with updateLog activated.
 This issue might be solved more or less at the same time as SOLR-3173, and 
 only one single SVN patch might be given to cover both issues.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira



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



[jira] [Issue Comment Edited] (SOLR-3178) Versioning - optimistic locking

2012-05-01 Thread Per Steffensen (JIRA)

[ 
https://issues.apache.org/jira/browse/SOLR-3178?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13265686#comment-13265686
 ] 

Per Steffensen edited comment on SOLR-3178 at 5/1/12 6:47 AM:
--

Fire and forget will also be much cooler with a real async client interface. 
We will provide that very soon - see SOLR-3383.

  was (Author: steff1193):
Fire and forget will also be much cooler with a real async interface. We 
will provide that very soon - see SOLR-3383.
  
 Versioning - optimistic locking
 ---

 Key: SOLR-3178
 URL: https://issues.apache.org/jira/browse/SOLR-3178
 Project: Solr
  Issue Type: New Feature
  Components: update
Affects Versions: 3.5
 Environment: All
Reporter: Per Steffensen
Assignee: Per Steffensen
  Labels: RDBMS, insert, locking, nosql, optimistic, uniqueKey, 
 update, versioning
 Fix For: 4.0

 Attachments: SOLR-3178.patch, SOLR_3173_3178_3382_plus.patch

   Original Estimate: 168h
  Remaining Estimate: 168h

 In order increase the ability of Solr to be used as a NoSql database (lots of 
 concurrent inserts, updates, deletes and queries in the entire lifetime of 
 the index) instead of just a search index (first: everything indexed (in one 
 thread), after: only queries), I would like Solr to support versioning to be 
 used for optimistic locking.
 When my intent (see SOLR-3173) is to update an existing document, I will need 
 to provide a version-number equal to the version number I got when I fetched 
 the existing document for update plus one. If this provided version-number 
 does not correspond to the newest version-number of that document at the 
 time of update plus one, I will get a VersionConflict error. If it does 
 correspond the document will be updated with the new one, so that the newest 
 version-number of that document is NOW one higher than before the update. 
 Correct but efficient concurrency handling.
 When my intent (see SOLR-3173) is to insert a new document, the version 
 number provided will not be used - instead a version-number 0 will be used. 
 According to SOLR-3173 insert will only succeed if a document with the same 
 value on uniqueKey-field does not already exist.
 In general when talking about different versions of the same document, of 
 course we need to be able to identify when a document is the same - that, 
 per definition, is when the values of the uniqueKey-fields are equal. 
 The functionality provided by this issue is only really meaningfull when you 
 run with updateLog activated.
 This issue might be solved more or less at the same time as SOLR-3173, and 
 only one single SVN patch might be given to cover both issues.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira



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



[JENKINS] Lucene-Solr-tests-only-trunk-java7 - Build # 2391 - Still Failing

2012-05-01 Thread Apache Jenkins Server
Build: https://builds.apache.org/job/Lucene-Solr-tests-only-trunk-java7/2391/

1 tests failed.
REGRESSION:  org.apache.solr.cloud.RecoveryZkTest.testDistribSearch

Error Message:
Thread threw an uncaught exception, thread: Thread[Lucene Merge Thread #1,6,]

Stack Trace:
java.lang.RuntimeException: Thread threw an uncaught exception, thread: 
Thread[Lucene Merge Thread #1,6,]
at 
com.carrotsearch.randomizedtesting.RunnerThreadGroup.processUncaught(RunnerThreadGroup.java:96)
at 
com.carrotsearch.randomizedtesting.RandomizedRunner.runSingleTest(RandomizedRunner.java:848)
at 
com.carrotsearch.randomizedtesting.RandomizedRunner.access$700(RandomizedRunner.java:131)
at 
com.carrotsearch.randomizedtesting.RandomizedRunner$3$1.run(RandomizedRunner.java:668)
at 
com.carrotsearch.randomizedtesting.RandomizedRunner$3.evaluate(RandomizedRunner.java:687)
at 
com.carrotsearch.randomizedtesting.RandomizedRunner$4.evaluate(RandomizedRunner.java:723)
at 
com.carrotsearch.randomizedtesting.RandomizedRunner$5.evaluate(RandomizedRunner.java:734)
at 
org.apache.lucene.util.SystemPropertiesRestoreRule$1.evaluate(SystemPropertiesRestoreRule.java:63)
at 
org.apache.lucene.util.UncaughtExceptionsRule$1.evaluate(UncaughtExceptionsRule.java:75)
at 
org.apache.lucene.util.StoreClassNameRule$1.evaluate(StoreClassNameRule.java:38)
at 
org.apache.lucene.util.SystemPropertiesInvariantRule$1.evaluate(SystemPropertiesInvariantRule.java:69)
at 
com.carrotsearch.randomizedtesting.RandomizedRunner.runSuite(RandomizedRunner.java:604)
at 
com.carrotsearch.randomizedtesting.RandomizedRunner.access$400(RandomizedRunner.java:131)
at 
com.carrotsearch.randomizedtesting.RandomizedRunner$2.run(RandomizedRunner.java:550)
Caused by: org.apache.lucene.index.MergePolicy$MergeException: 
org.apache.lucene.store.AlreadyClosedException: this Directory is closed
at __randomizedtesting.SeedInfo.seed([8BA910D0B66DC53E]:0)
at 
org.apache.lucene.index.ConcurrentMergeScheduler.handleMergeException(ConcurrentMergeScheduler.java:507)
at 
org.apache.lucene.index.ConcurrentMergeScheduler$MergeThread.run(ConcurrentMergeScheduler.java:480)
Caused by: org.apache.lucene.store.AlreadyClosedException: this Directory is 
closed
at org.apache.lucene.store.Directory.ensureOpen(Directory.java:244)
at org.apache.lucene.store.FSDirectory.listAll(FSDirectory.java:241)
at 
org.apache.lucene.index.IndexFileDeleter.refresh(IndexFileDeleter.java:345)
at org.apache.lucene.index.IndexWriter.merge(IndexWriter.java:3019)
at 
org.apache.lucene.index.ConcurrentMergeScheduler.doMerge(ConcurrentMergeScheduler.java:382)
at 
org.apache.lucene.index.ConcurrentMergeScheduler$MergeThread.run(ConcurrentMergeScheduler.java:451)




Build Log (for compile errors):
[...truncated 12184 lines...]



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

[jira] [Commented] (SOLR-3424) PhoneticFilterFactory threadsafety bug

2012-05-01 Thread Uwe Schindler (JIRA)

[ 
https://issues.apache.org/jira/browse/SOLR-3424?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13265696#comment-13265696
 ] 

Uwe Schindler commented on SOLR-3424:
-

Hi David,

looks good, but there is a bug:
The refactoring of the REGISTRY static map was an anonymous inner class before 
(new HashMap() {{ hashmap ctor code }}; (please note double parens). Now it is 
assigned to a static field, but the initializer code is an inline ctor of the 
factory, means the initialization runs on every instantiation.

- add *static* before the anonymous ctor:
{code:java}
private static final MapString, Class? extends Encoder registry = new 
HashMapString, Class? extends Encoder(6);
static {
 registry.put(...
{code}

- or leave the initializer as it was before (anonymous HashMap subclass with 
overridden ctor).

in resolve encoder maybe remove the clazz variable and directly return the 
result of forName(). I do't like non-final variables initialized with null 
because that prevents compilation failures on missing initialization and null 
could be returned - especially with lots of try-catch blocks.

 PhoneticFilterFactory threadsafety bug
 --

 Key: SOLR-3424
 URL: https://issues.apache.org/jira/browse/SOLR-3424
 Project: Solr
  Issue Type: Bug
  Components: Schema and Analysis
Affects Versions: 3.6, 4.0
Reporter: David Smiley
Assignee: David Smiley
Priority: Minor
 Fix For: 4.0

 Attachments: SOLR-3424_PhoneticFilterFactory_threadsafety_bug.patch, 
 SOLR-3424_PhoneticFilterFactory_threadsafety_bug.patch


 PhoneticFilterFactory has a static HashMap registry mapping an encoder name 
 to an implementation. There is a ReentrantLock used when the map is modified 
 (when the encoder config specifies a class name).  However, this map, which 
 can be accessed by multiple indexing threads, isn't guarded on any of the 
 reads, which isn't just the common path but also the error messages which 
 dump the registry into the error message.
 I realize the likelihood of a problem is extremely slim, but a bug's a bug.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira



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



[jira] [Updated] (SOLR-3424) PhoneticFilterFactory threadsafety bug

2012-05-01 Thread Uwe Schindler (JIRA)

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

Uwe Schindler updated SOLR-3424:


Attachment: SOLR-3424_PhoneticFilterFactory_threadsafety_bug.patch

Attached is a patch that fixes the initialization bug and improves the 
reflection code.

*One thing that came into my mind when I looked at the code of PhoneticFilter:* 
I did not find out if Encoders are threadsafe or not. If they aren't or we are 
not sure (the documentation states nothing), we should create the Encoder class 
instance in the TokenStream create() method. TokenStreams itsself are only used 
per thread (iterator pattern), and the Analyzer reuse ensures that we have a 
separate instance for each thread.

 PhoneticFilterFactory threadsafety bug
 --

 Key: SOLR-3424
 URL: https://issues.apache.org/jira/browse/SOLR-3424
 Project: Solr
  Issue Type: Bug
  Components: Schema and Analysis
Affects Versions: 3.6, 4.0
Reporter: David Smiley
Assignee: David Smiley
Priority: Minor
 Fix For: 4.0

 Attachments: SOLR-3424_PhoneticFilterFactory_threadsafety_bug.patch, 
 SOLR-3424_PhoneticFilterFactory_threadsafety_bug.patch, 
 SOLR-3424_PhoneticFilterFactory_threadsafety_bug.patch


 PhoneticFilterFactory has a static HashMap registry mapping an encoder name 
 to an implementation. There is a ReentrantLock used when the map is modified 
 (when the encoder config specifies a class name).  However, this map, which 
 can be accessed by multiple indexing threads, isn't guarded on any of the 
 reads, which isn't just the common path but also the error messages which 
 dump the registry into the error message.
 I realize the likelihood of a problem is extremely slim, but a bug's a bug.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira



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



[jira] [Updated] (SOLR-3424) PhoneticFilterFactory threadsafety bug

2012-05-01 Thread Uwe Schindler (JIRA)

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

Uwe Schindler updated SOLR-3424:


Attachment: SOLR-3424_PhoneticFilterFactory_threadsafety_bug.patch

Updated patch, I added a testcase for the reflection without package name:
- I use Caverphone2 as package less name, which is not in the REGISTRY. The 
returned class should be Caverphone2
- I cross-check with the REGISTRY name Caverphone, which should also return 
the new Caverphone2 encoder, but without reflection

 PhoneticFilterFactory threadsafety bug
 --

 Key: SOLR-3424
 URL: https://issues.apache.org/jira/browse/SOLR-3424
 Project: Solr
  Issue Type: Bug
  Components: Schema and Analysis
Affects Versions: 3.6, 4.0
Reporter: David Smiley
Assignee: David Smiley
Priority: Minor
 Fix For: 4.0

 Attachments: SOLR-3424_PhoneticFilterFactory_threadsafety_bug.patch, 
 SOLR-3424_PhoneticFilterFactory_threadsafety_bug.patch, 
 SOLR-3424_PhoneticFilterFactory_threadsafety_bug.patch, 
 SOLR-3424_PhoneticFilterFactory_threadsafety_bug.patch


 PhoneticFilterFactory has a static HashMap registry mapping an encoder name 
 to an implementation. There is a ReentrantLock used when the map is modified 
 (when the encoder config specifies a class name).  However, this map, which 
 can be accessed by multiple indexing threads, isn't guarded on any of the 
 reads, which isn't just the common path but also the error messages which 
 dump the registry into the error message.
 I realize the likelihood of a problem is extremely slim, but a bug's a bug.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira



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



[jira] [Commented] (SOLR-3178) Versioning - optimistic locking

2012-05-01 Thread Yonik Seeley (JIRA)

[ 
https://issues.apache.org/jira/browse/SOLR-3178?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13265768#comment-13265768
 ] 

Yonik Seeley commented on SOLR-3178:


bq. since I offer the semanticsMode property in updatehandler

Seems like this should be up to the client... why wouldn't update semantics be 
handled on a per-request basis?

 Versioning - optimistic locking
 ---

 Key: SOLR-3178
 URL: https://issues.apache.org/jira/browse/SOLR-3178
 Project: Solr
  Issue Type: New Feature
  Components: update
Affects Versions: 3.5
 Environment: All
Reporter: Per Steffensen
Assignee: Per Steffensen
  Labels: RDBMS, insert, locking, nosql, optimistic, uniqueKey, 
 update, versioning
 Fix For: 4.0

 Attachments: SOLR-3178.patch, SOLR_3173_3178_3382_plus.patch

   Original Estimate: 168h
  Remaining Estimate: 168h

 In order increase the ability of Solr to be used as a NoSql database (lots of 
 concurrent inserts, updates, deletes and queries in the entire lifetime of 
 the index) instead of just a search index (first: everything indexed (in one 
 thread), after: only queries), I would like Solr to support versioning to be 
 used for optimistic locking.
 When my intent (see SOLR-3173) is to update an existing document, I will need 
 to provide a version-number equal to the version number I got when I fetched 
 the existing document for update plus one. If this provided version-number 
 does not correspond to the newest version-number of that document at the 
 time of update plus one, I will get a VersionConflict error. If it does 
 correspond the document will be updated with the new one, so that the newest 
 version-number of that document is NOW one higher than before the update. 
 Correct but efficient concurrency handling.
 When my intent (see SOLR-3173) is to insert a new document, the version 
 number provided will not be used - instead a version-number 0 will be used. 
 According to SOLR-3173 insert will only succeed if a document with the same 
 value on uniqueKey-field does not already exist.
 In general when talking about different versions of the same document, of 
 course we need to be able to identify when a document is the same - that, 
 per definition, is when the values of the uniqueKey-fields are equal. 
 The functionality provided by this issue is only really meaningfull when you 
 run with updateLog activated.
 This issue might be solved more or less at the same time as SOLR-3173, and 
 only one single SVN patch might be given to cover both issues.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira



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



Re: hudson hung

2012-05-01 Thread Michael McCandless
Hmm, as a test, I tried adding @Timeout(millis=10) to
LuceneTestCase, ie 100 seconds, which I think should not trigger on
any core tests today.

That should then apply to all subclasses of LuceneTestCase right?  Ie
all tests will be aborted after 100 seconds...

But, something is wrong: I get lots of quick (ie much less than 100
seconds) failures like this:

   [junit4] Suite: org.apache.lucene.util.TestRamUsageEstimatorOnWildAnimals
   [junit4] ERROR   0.00s J2 | TestRamUsageEstimatorOnWildAnimals (suite)
   [junit4] Throwable #1: java.lang.RuntimeException: Interrupted
while waiting for worker? Weird.
   [junit4]at 
__randomizedtesting.SeedInfo.seed([329191043FC42BEA]:0)
   [junit4]at
com.carrotsearch.randomizedtesting.RandomizedRunner.runAndWait(RandomizedRunner.java:786)
   [junit4]at
com.carrotsearch.randomizedtesting.RandomizedRunner.access$900(RandomizedRunner.java:131)
   [junit4]at
com.carrotsearch.randomizedtesting.RandomizedRunner$3.evaluate(RandomizedRunner.java:689)
   [junit4]at
com.carrotsearch.randomizedtesting.RandomizedRunner$4.evaluate(RandomizedRunner.java:723)
   [junit4]at
com.carrotsearch.randomizedtesting.RandomizedRunner$5.evaluate(RandomizedRunner.java:734)
   [junit4]at
org.apache.lucene.util.UncaughtExceptionsRule$1.evaluate(UncaughtExceptionsRule.java:75)
   [junit4]at
org.apache.lucene.util.StoreClassNameRule$1.evaluate(StoreClassNameRule.java:38)
   [junit4]at
org.apache.lucene.util.SystemPropertiesInvariantRule$1.evaluate(SystemPropertiesInvariantRule.java:69)
   [junit4]at
com.carrotsearch.randomizedtesting.RandomizedRunner.runSuite(RandomizedRunner.java:604)
   [junit4]at
com.carrotsearch.randomizedtesting.RandomizedRunner.access$400(RandomizedRunner.java:131)
   [junit4]at
com.carrotsearch.randomizedtesting.RandomizedRunner$2.run(RandomizedRunner.java:550)
   [junit4] Caused by: java.lang.InterruptedException
   [junit4]at java.lang.Object.wait(Native Method)
   [junit4]at java.lang.Thread.join(Thread.java:1266)
   [junit4]at
com.carrotsearch.randomizedtesting.RandomizedRunner.runAndWait(RandomizedRunner.java:776)
   [junit4]... 10 more
   [junit4]
   [junit4] Completed on J2 in 0.34s, 1 test, 1 error  FAILURES!
   [junit4]
   [junit4] May 01, 2012 9:02:18 AM
com.carrotsearch.ant.tasks.junit4.dependencies.com.google.common.eventbus.EventBus
dispatch
   [junit4] SEVERE: Could not dispatch event:
com.carrotsearch.ant.tasks.junit4.events.aggregated.AggregatedSuiteResultEvent@6637b753
to handler [wrapper public void
com.carrotsearch.ant.tasks.junit4.listeners.TextReport.onSuiteResult(com.carrotsearch.ant.tasks.junit4.events.aggregated.AggregatedSuiteResultEvent)]
   [junit4] java.lang.reflect.InvocationTargetException
   [junit4] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   [junit4] at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
   [junit4] at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
   [junit4] at java.lang.reflect.Method.invoke(Method.java:601)
   [junit4] at
com.carrotsearch.ant.tasks.junit4.dependencies.com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:68)
   [junit4] at
com.carrotsearch.ant.tasks.junit4.dependencies.com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)
   [junit4] at
com.carrotsearch.ant.tasks.junit4.dependencies.com.google.common.eventbus.EventBus.dispatch(EventBus.java:313)
   [junit4] at
com.carrotsearch.ant.tasks.junit4.dependencies.com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:296)
   [junit4] at
com.carrotsearch.ant.tasks.junit4.dependencies.com.google.common.eventbus.EventBus.post(EventBus.java:264)
   [junit4] at
com.carrotsearch.ant.tasks.junit4.events.aggregated.AggregatingListener.receiveSuiteEnd(AggregatingListener.java:130)
   [junit4] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   [junit4] at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
   [junit4] at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
   [junit4] at java.lang.reflect.Method.invoke(Method.java:601)
   [junit4] at
com.carrotsearch.ant.tasks.junit4.dependencies.com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:68)
   [junit4] at
com.carrotsearch.ant.tasks.junit4.dependencies.com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)
   [junit4] at
com.carrotsearch.ant.tasks.junit4.dependencies.com.google.common.eventbus.EventBus.dispatch(EventBus.java:313)
   [junit4] at

[jira] [Updated] (SOLR-3425) CloudSolrServer can't create cores when using the zkHost based constructor

2012-05-01 Thread Tommaso Teofili (JIRA)

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

Tommaso Teofili updated SOLR-3425:
--

Attachment: SOLR-3425-test.patch

test case: setup a 2 nodes cluster as example A in SolrCloud wiki page 
(http://wiki.apache.org/solr/SolrCloud) and run the attached test.
The testLBServerCoreCreation() test should pass while the 
testZKHostCoreCreation() should fail

 CloudSolrServer can't create cores when using the zkHost based constructor
 --

 Key: SOLR-3425
 URL: https://issues.apache.org/jira/browse/SOLR-3425
 Project: Solr
  Issue Type: Improvement
  Components: SolrCloud
Reporter: Tommaso Teofili
Priority: Minor
 Fix For: 4.0

 Attachments: SOLR-3425-test.patch


 When programmatically creating cores with a running SolrCloud instance the 
 CloudSolrServer uses the slices nodes information to feed the underlying 
 LBHttpSolrServer so it fails to create cores as there aren't any slices for 
 any new collection (as it's still to be created).
 This happens when using the CloudSolrServer constructor which takes the ZK 
 host as only parameter while it can be avoided by using the constructor which 
 also takes the list of Solr URLs and the underlying LBHttpSolrServer is 
 actually used for making the core creation request.
 However it'd be good to use the ZK host live nodes information to 
 automatically issue a core creation command on one of the underlying Solr 
 hosts without having to specify the full list of URLs beforehand.
 The scenario is when one wants to create a collection with N shards so the 
 client sends N core creation requests for the same collection thus the 
 SolrCloud stuff should just take care of choosing the host where to issue the 
 core creation request and update the cluster state.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira



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



[jira] [Commented] (LUCENE-4025) ReferenceManager.maybeRefresh should allow the caller to block

2012-05-01 Thread Michael McCandless (JIRA)

[ 
https://issues.apache.org/jira/browse/LUCENE-4025?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13265800#comment-13265800
 ] 

Michael McCandless commented on LUCENE-4025:


Approach  patch look good!

Maybe change javadocs to state that you must call maybeRefresh or 
maybeRefreshBlocking periodically (now each one states you must call that 
one).  Also maybe say if another thread is currently refreshing, this method 
blocks until that thread completes.

 ReferenceManager.maybeRefresh should allow the caller to block
 --

 Key: LUCENE-4025
 URL: https://issues.apache.org/jira/browse/LUCENE-4025
 Project: Lucene - Java
  Issue Type: Improvement
  Components: core/search
Reporter: Shai Erera
Priority: Minor
 Fix For: 4.0

 Attachments: LUCENE-4025.patch


 ReferenceManager.maybeRefresh() returns a boolean today, specifying whether 
 the maybeRefresh logic was executed by the caller or not. If it's false, it 
 means that another thread is currently refreshing and the call returns 
 immediately.
 I think that that's inconvenient to the caller. I.e., if you wanted to do 
 something like:
 {code}
 writer.commit();
 searcherManager.maybeRefresh();
 searcherManager.acquire();
 {code}
 It'd be better if you could guarantee that when the maybeRefresh() call 
 returned, the follow on acquire() will return a refreshed IndexSearcher. Even 
 if you omit the commit instruction, it'd be good if you can guarantee that.
 I don't quite see the benefit of having the caller thread not block if 
 there's another thread currently refreshing. In, I believe, most cases, you'd 
 anyway have just one thread calling maybeRefresh(). Even if not, the only 
 benefit of not blocking is if you have commit() followed by maybeRefresh() 
 logic done by some threads, while other threads acquire searchers - maybe 
 then you wouldn't care if another thread is currently doing the refresh?
 Actually, I tend to think that not blocking is buggy? I mean, what if two 
 threads do commit() + maybeRefresh(). The first thread finishes commit, 
 enters maybeRefresh(), acquires the lock and reopens the Reader. Then the 
 second thread does its commit(), enters maybeRefresh, fails to obtain the 
 lock and exits. Its changes won't be exposed by SM until the next 
 maybeRefresh() is called.
 So it looks to me like current logic may be buggy in that sense?

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira



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



[jira] [Commented] (SOLR-3425) CloudSolrServer can't create cores when using the zkHost based constructor

2012-05-01 Thread Mark Miller (JIRA)

[ 
https://issues.apache.org/jira/browse/SOLR-3425?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13265805#comment-13265805
 ] 

Mark Miller commented on SOLR-3425:
---

I'd like to improve collection creation outside of Solrj as well - but I think 
it also makes sense to improve this here as well. Do you have a proposal yet? 
Perhaps we should just add new collection management api? Trying to wrap this 
stuff in a SolrCore's world gets kind of ugly.

 CloudSolrServer can't create cores when using the zkHost based constructor
 --

 Key: SOLR-3425
 URL: https://issues.apache.org/jira/browse/SOLR-3425
 Project: Solr
  Issue Type: Improvement
  Components: SolrCloud
Reporter: Tommaso Teofili
Priority: Minor
 Fix For: 4.0

 Attachments: SOLR-3425-test.patch


 When programmatically creating cores with a running SolrCloud instance the 
 CloudSolrServer uses the slices nodes information to feed the underlying 
 LBHttpSolrServer so it fails to create cores as there aren't any slices for 
 any new collection (as it's still to be created).
 This happens when using the CloudSolrServer constructor which takes the ZK 
 host as only parameter while it can be avoided by using the constructor which 
 also takes the list of Solr URLs and the underlying LBHttpSolrServer is 
 actually used for making the core creation request.
 However it'd be good to use the ZK host live nodes information to 
 automatically issue a core creation command on one of the underlying Solr 
 hosts without having to specify the full list of URLs beforehand.
 The scenario is when one wants to create a collection with N shards so the 
 client sends N core creation requests for the same collection thus the 
 SolrCloud stuff should just take care of choosing the host where to issue the 
 core creation request and update the cluster state.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira



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



[jira] [Commented] (SOLR-3296) Explore alternatives to Commons CSV

2012-05-01 Thread Steven Rowe (JIRA)

[ 
https://issues.apache.org/jira/browse/SOLR-3296?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13265809#comment-13265809
 ] 

Steven Rowe commented on SOLR-3296:
---

Chris,

I don't see org.noggit:noggit up on Maven Central yet, so I guess your request 
has hit a snag - do you know what's happening?


 Explore alternatives to Commons CSV
 ---

 Key: SOLR-3296
 URL: https://issues.apache.org/jira/browse/SOLR-3296
 Project: Solr
  Issue Type: Improvement
  Components: Build
Reporter: Chris Male
 Attachments: SOLR-3295-CSV-tests.patch, SOLR-3296_noggit.patch, 
 pom.xml, pom.xml


 In LUCENE-3930 we're implementing some less than ideal solutions to make 
 available the unreleased version of commons-csv.  We could remove these 
 solutions if we didn't rely on this lib.  So I think we should explore 
 alternatives. 
 I think [opencsv|http://opencsv.sourceforge.net/] is an alternative to 
 consider, I've used it in many commercial projects.  Bizarrely Commons-CSV's 
 website says that Opencsv uses a BSD license, but this isn't the case, 
 OpenCSV uses ASL2.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira



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



Re: hudson hung

2012-05-01 Thread Shai Erera
I tried to enforce a Timeout using this code, added to my top-level test
case (didn't try yet on LTC):

@Rule
public static Timeout globalTimeout = new Timeout(10); // 100
seconds

This comes straight from JUnit. I don't have the randomizedtesting jar in
my project, so I couldn't add the @Timeout annotation.

When I set it to a low value (20 ms), many tests failed as expected.
However, on one occasion, a test took 135 seconds, as reported by JUnit in
eclipse, and still didn't fail ! I don't know what it means though -- the
test usually doesn't take more than 15 seconds to run, so perhaps the
computer was busy, and therefore even the timeout thread didn't get the
chance to fail ... or perhaps the time reported by eclipse is inaccurate.

Anyway, perhaps try with that (just add it to LTC anywhere).

Shai

On Tue, May 1, 2012 at 4:05 PM, Michael McCandless 
luc...@mikemccandless.com wrote:

 Hmm, as a test, I tried adding @Timeout(millis=10) to
 LuceneTestCase, ie 100 seconds, which I think should not trigger on
 any core tests today.

 That should then apply to all subclasses of LuceneTestCase right?  Ie
 all tests will be aborted after 100 seconds...

 But, something is wrong: I get lots of quick (ie much less than 100
 seconds) failures like this:

   [junit4] Suite: org.apache.lucene.util.TestRamUsageEstimatorOnWildAnimals
   [junit4] ERROR   0.00s J2 | TestRamUsageEstimatorOnWildAnimals (suite)
   [junit4] Throwable #1: java.lang.RuntimeException: Interrupted
 while waiting for worker? Weird.
   [junit4]at
 __randomizedtesting.SeedInfo.seed([329191043FC42BEA]:0)
   [junit4]at

 com.carrotsearch.randomizedtesting.RandomizedRunner.runAndWait(RandomizedRunner.java:786)
   [junit4]at

 com.carrotsearch.randomizedtesting.RandomizedRunner.access$900(RandomizedRunner.java:131)
   [junit4]at

 com.carrotsearch.randomizedtesting.RandomizedRunner$3.evaluate(RandomizedRunner.java:689)
   [junit4]at

 com.carrotsearch.randomizedtesting.RandomizedRunner$4.evaluate(RandomizedRunner.java:723)
   [junit4]at

 com.carrotsearch.randomizedtesting.RandomizedRunner$5.evaluate(RandomizedRunner.java:734)
   [junit4]at

 org.apache.lucene.util.UncaughtExceptionsRule$1.evaluate(UncaughtExceptionsRule.java:75)
   [junit4]at

 org.apache.lucene.util.StoreClassNameRule$1.evaluate(StoreClassNameRule.java:38)
   [junit4]at

 org.apache.lucene.util.SystemPropertiesInvariantRule$1.evaluate(SystemPropertiesInvariantRule.java:69)
   [junit4]at

 com.carrotsearch.randomizedtesting.RandomizedRunner.runSuite(RandomizedRunner.java:604)
   [junit4]at

 com.carrotsearch.randomizedtesting.RandomizedRunner.access$400(RandomizedRunner.java:131)
   [junit4]at

 com.carrotsearch.randomizedtesting.RandomizedRunner$2.run(RandomizedRunner.java:550)
   [junit4] Caused by: java.lang.InterruptedException
   [junit4]at java.lang.Object.wait(Native Method)
   [junit4]at java.lang.Thread.join(Thread.java:1266)
   [junit4]at

 com.carrotsearch.randomizedtesting.RandomizedRunner.runAndWait(RandomizedRunner.java:776)
   [junit4]... 10 more
   [junit4]
   [junit4] Completed on J2 in 0.34s, 1 test, 1 error  FAILURES!
   [junit4]
   [junit4] May 01, 2012 9:02:18 AM

 com.carrotsearch.ant.tasks.junit4.dependencies.com.google.common.eventbus.EventBus
 dispatch
   [junit4] SEVERE: Could not dispatch event:

 com.carrotsearch.ant.tasks.junit4.events.aggregated.AggregatedSuiteResultEvent@6637b753
 to handler [wrapper public void

 com.carrotsearch.ant.tasks.junit4.listeners.TextReport.onSuiteResult(com.carrotsearch.ant.tasks.junit4.events.aggregated.AggregatedSuiteResultEvent)]
   [junit4] java.lang.reflect.InvocationTargetException
   [junit4] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
 Method)
   [junit4] at

 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
   [junit4] at

 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
   [junit4] at java.lang.reflect.Method.invoke(Method.java:601)
   [junit4] at

 com.carrotsearch.ant.tasks.junit4.dependencies.com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:68)
   [junit4] at

 com.carrotsearch.ant.tasks.junit4.dependencies.com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)
   [junit4] at

 com.carrotsearch.ant.tasks.junit4.dependencies.com.google.common.eventbus.EventBus.dispatch(EventBus.java:313)
   [junit4] at

 com.carrotsearch.ant.tasks.junit4.dependencies.com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:296)
   [junit4] at

 com.carrotsearch.ant.tasks.junit4.dependencies.com.google.common.eventbus.EventBus.post(EventBus.java:264)
   [junit4] at

 

[jira] [Updated] (LUCENE-4025) ReferenceManager.maybeRefresh should allow the caller to block

2012-05-01 Thread Shai Erera (JIRA)

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

Shai Erera updated LUCENE-4025:
---

Attachment: LUCENE-4025.patch

Thanks Mike. I updated the javadoc as you suggest and added a CHANGES entry.

I think this is ready to commit.

 ReferenceManager.maybeRefresh should allow the caller to block
 --

 Key: LUCENE-4025
 URL: https://issues.apache.org/jira/browse/LUCENE-4025
 Project: Lucene - Java
  Issue Type: Improvement
  Components: core/search
Reporter: Shai Erera
Priority: Minor
 Fix For: 4.0

 Attachments: LUCENE-4025.patch, LUCENE-4025.patch


 ReferenceManager.maybeRefresh() returns a boolean today, specifying whether 
 the maybeRefresh logic was executed by the caller or not. If it's false, it 
 means that another thread is currently refreshing and the call returns 
 immediately.
 I think that that's inconvenient to the caller. I.e., if you wanted to do 
 something like:
 {code}
 writer.commit();
 searcherManager.maybeRefresh();
 searcherManager.acquire();
 {code}
 It'd be better if you could guarantee that when the maybeRefresh() call 
 returned, the follow on acquire() will return a refreshed IndexSearcher. Even 
 if you omit the commit instruction, it'd be good if you can guarantee that.
 I don't quite see the benefit of having the caller thread not block if 
 there's another thread currently refreshing. In, I believe, most cases, you'd 
 anyway have just one thread calling maybeRefresh(). Even if not, the only 
 benefit of not blocking is if you have commit() followed by maybeRefresh() 
 logic done by some threads, while other threads acquire searchers - maybe 
 then you wouldn't care if another thread is currently doing the refresh?
 Actually, I tend to think that not blocking is buggy? I mean, what if two 
 threads do commit() + maybeRefresh(). The first thread finishes commit, 
 enters maybeRefresh(), acquires the lock and reopens the Reader. Then the 
 second thread does its commit(), enters maybeRefresh, fails to obtain the 
 lock and exits. Its changes won't be exposed by SM until the next 
 maybeRefresh() is called.
 So it looks to me like current logic may be buggy in that sense?

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira



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



[jira] [Commented] (SOLR-3425) CloudSolrServer can't create cores when using the zkHost based constructor

2012-05-01 Thread Tommaso Teofili (JIRA)

[ 
https://issues.apache.org/jira/browse/SOLR-3425?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13265841#comment-13265841
 ] 

Tommaso Teofili commented on SOLR-3425:
---

bq. Perhaps we should just add new collection management api?

I think so, that would also help SolrCloud users understand the mind shift from 
cores to collections.

For this particular thing the dummy fix (not tested widely but still all the 
tests pass) could be to add the following lines for filling the urlList 
variable:
{code}
// enable automatic distributed core creation
if (request instanceof CoreAdminRequest.Create) {
  for (String liveNodeHost : zkStateReader.getCloudState().getLiveNodes()) {
urlList.add(new 
StringBuilder(http://;).append(liveNodeHost.replaceAll(_solr, 
/solr/)).toString());
  }
}
else {
  for (Slice slice : slices.values()) {
...
{code}

however i don't like it very much. I think adding proper APIs would be just 
better.

 CloudSolrServer can't create cores when using the zkHost based constructor
 --

 Key: SOLR-3425
 URL: https://issues.apache.org/jira/browse/SOLR-3425
 Project: Solr
  Issue Type: Improvement
  Components: SolrCloud
Reporter: Tommaso Teofili
Priority: Minor
 Fix For: 4.0

 Attachments: SOLR-3425-test.patch


 When programmatically creating cores with a running SolrCloud instance the 
 CloudSolrServer uses the slices nodes information to feed the underlying 
 LBHttpSolrServer so it fails to create cores as there aren't any slices for 
 any new collection (as it's still to be created).
 This happens when using the CloudSolrServer constructor which takes the ZK 
 host as only parameter while it can be avoided by using the constructor which 
 also takes the list of Solr URLs and the underlying LBHttpSolrServer is 
 actually used for making the core creation request.
 However it'd be good to use the ZK host live nodes information to 
 automatically issue a core creation command on one of the underlying Solr 
 hosts without having to specify the full list of URLs beforehand.
 The scenario is when one wants to create a collection with N shards so the 
 client sends N core creation requests for the same collection thus the 
 SolrCloud stuff should just take care of choosing the host where to issue the 
 core creation request and update the cluster state.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira



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



[jira] [Commented] (LUCENE-4025) ReferenceManager.maybeRefresh should allow the caller to block

2012-05-01 Thread Michael McCandless (JIRA)

[ 
https://issues.apache.org/jira/browse/LUCENE-4025?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13265842#comment-13265842
 ] 

Michael McCandless commented on LUCENE-4025:


+1, looks good.  Thanks Shai!

 ReferenceManager.maybeRefresh should allow the caller to block
 --

 Key: LUCENE-4025
 URL: https://issues.apache.org/jira/browse/LUCENE-4025
 Project: Lucene - Java
  Issue Type: Improvement
  Components: core/search
Reporter: Shai Erera
Priority: Minor
 Fix For: 4.0

 Attachments: LUCENE-4025.patch, LUCENE-4025.patch


 ReferenceManager.maybeRefresh() returns a boolean today, specifying whether 
 the maybeRefresh logic was executed by the caller or not. If it's false, it 
 means that another thread is currently refreshing and the call returns 
 immediately.
 I think that that's inconvenient to the caller. I.e., if you wanted to do 
 something like:
 {code}
 writer.commit();
 searcherManager.maybeRefresh();
 searcherManager.acquire();
 {code}
 It'd be better if you could guarantee that when the maybeRefresh() call 
 returned, the follow on acquire() will return a refreshed IndexSearcher. Even 
 if you omit the commit instruction, it'd be good if you can guarantee that.
 I don't quite see the benefit of having the caller thread not block if 
 there's another thread currently refreshing. In, I believe, most cases, you'd 
 anyway have just one thread calling maybeRefresh(). Even if not, the only 
 benefit of not blocking is if you have commit() followed by maybeRefresh() 
 logic done by some threads, while other threads acquire searchers - maybe 
 then you wouldn't care if another thread is currently doing the refresh?
 Actually, I tend to think that not blocking is buggy? I mean, what if two 
 threads do commit() + maybeRefresh(). The first thread finishes commit, 
 enters maybeRefresh(), acquires the lock and reopens the Reader. Then the 
 second thread does its commit(), enters maybeRefresh, fails to obtain the 
 lock and exits. Its changes won't be exposed by SM until the next 
 maybeRefresh() is called.
 So it looks to me like current logic may be buggy in that sense?

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira



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



report-text doesn't support the useSimpleNames attribute

2012-05-01 Thread Shai Erera
Hi

I svn up and ran 'ant test-core', but hit this strange error:

lucene\build.xml:50: The following error occurred while executing this line:
lucene\common-build.xml:1018: The following error occurred while executing
this line:
lucene\common-build.xml:744: report-text doesn't support the
useSimpleNames attribute

I have Ant 1.8.2.

I tried to run the tests with an Oracle JVM (the above failure was from an
IBM JVM), and hit this:

lucene\build.xml:50: The following error occurred while executing this line:
lucene\common-build.xml:1018: The following error occurred while executing
this line:
lucene\common-build.xml:744: report-text doesn't support the
maxClassNameColumns attribute

Each JVM complains about a different attribute !

This is the Oracle Java 6 that I ran with:

java version 1.6.0_31
Java(TM) SE Runtime Environment (build 1.6.0_31-b05)
Java HotSpot(TM) 64-Bit Server VM (build 20.6-b01, mixed mode)

Has anyone run into this?

Shai


[jira] [Created] (SOLR-3426) CoreContainer goes looking for nonexistent Log4j class

2012-05-01 Thread Benson Margulies (JIRA)
Benson Margulies created SOLR-3426:
--

 Summary: CoreContainer goes looking for nonexistent Log4j class
 Key: SOLR-3426
 URL: https://issues.apache.org/jira/browse/SOLR-3426
 Project: Solr
  Issue Type: Bug
Affects Versions: 4.0
Reporter: Benson Margulies


The code quoted here from CoreContainer.java ends up looking for a class named 
Log4j instead of Log4jWatcher. Neither name exists in the tree. 

  // Now load the framework
  if(fname!=null) {
if(JUL.equalsIgnoreCase(fname)) {
  logging = new JulWatcher(slf4jImpl);
}
//else if( Log4j.equals(fname) ) {
//  logging = new Log4jWatcher(slf4jImpl);
//}
else {
  try {
logging = loader.newInstance(fname, LogWatcher.class);
  }
  catch (Throwable e) {
log.warn(Unable to load LogWatcher, e);
  }
}



--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira



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



[jira] [Resolved] (LUCENE-4025) ReferenceManager.maybeRefresh should allow the caller to block

2012-05-01 Thread Shai Erera (JIRA)

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

Shai Erera resolved LUCENE-4025.


   Resolution: Fixed
Lucene Fields: New,Patch Available  (was: New)

Committed rev 1332699.

I also added randomly calling it from TestSearcherManager.

Thanks Mike for the review !

 ReferenceManager.maybeRefresh should allow the caller to block
 --

 Key: LUCENE-4025
 URL: https://issues.apache.org/jira/browse/LUCENE-4025
 Project: Lucene - Java
  Issue Type: Improvement
  Components: core/search
Reporter: Shai Erera
Priority: Minor
 Fix For: 4.0

 Attachments: LUCENE-4025.patch, LUCENE-4025.patch


 ReferenceManager.maybeRefresh() returns a boolean today, specifying whether 
 the maybeRefresh logic was executed by the caller or not. If it's false, it 
 means that another thread is currently refreshing and the call returns 
 immediately.
 I think that that's inconvenient to the caller. I.e., if you wanted to do 
 something like:
 {code}
 writer.commit();
 searcherManager.maybeRefresh();
 searcherManager.acquire();
 {code}
 It'd be better if you could guarantee that when the maybeRefresh() call 
 returned, the follow on acquire() will return a refreshed IndexSearcher. Even 
 if you omit the commit instruction, it'd be good if you can guarantee that.
 I don't quite see the benefit of having the caller thread not block if 
 there's another thread currently refreshing. In, I believe, most cases, you'd 
 anyway have just one thread calling maybeRefresh(). Even if not, the only 
 benefit of not blocking is if you have commit() followed by maybeRefresh() 
 logic done by some threads, while other threads acquire searchers - maybe 
 then you wouldn't care if another thread is currently doing the refresh?
 Actually, I tend to think that not blocking is buggy? I mean, what if two 
 threads do commit() + maybeRefresh(). The first thread finishes commit, 
 enters maybeRefresh(), acquires the lock and reopens the Reader. Then the 
 second thread does its commit(), enters maybeRefresh, fails to obtain the 
 lock and exits. Its changes won't be exposed by SM until the next 
 maybeRefresh() is called.
 So it looks to me like current logic may be buggy in that sense?

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira



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



[jira] [Commented] (SOLR-3424) PhoneticFilterFactory threadsafety bug

2012-05-01 Thread David Smiley (JIRA)

[ 
https://issues.apache.org/jira/browse/SOLR-3424?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13265862#comment-13265862
 ] 

David Smiley commented on SOLR-3424:


Uwe: Excellent catch RE my static bug, and I agree on your improvement RE 
clazz  null.

I tried to ascertain the thread-safety status of Commons-Codec and 
unfortunately I don't think we can assume it's thread-safe.  I sent an email to 
their list about this just now: 
http://apache-commons.680414.n4.nabble.com/Thread-safety-of-Commons-Codec-Encoder-tt4600956.html

So I agree that we'll have to insatiate one of these in our create() method 
instead of caching it.

 PhoneticFilterFactory threadsafety bug
 --

 Key: SOLR-3424
 URL: https://issues.apache.org/jira/browse/SOLR-3424
 Project: Solr
  Issue Type: Bug
  Components: Schema and Analysis
Affects Versions: 3.6, 4.0
Reporter: David Smiley
Assignee: David Smiley
Priority: Minor
 Fix For: 4.0

 Attachments: SOLR-3424_PhoneticFilterFactory_threadsafety_bug.patch, 
 SOLR-3424_PhoneticFilterFactory_threadsafety_bug.patch, 
 SOLR-3424_PhoneticFilterFactory_threadsafety_bug.patch, 
 SOLR-3424_PhoneticFilterFactory_threadsafety_bug.patch


 PhoneticFilterFactory has a static HashMap registry mapping an encoder name 
 to an implementation. There is a ReentrantLock used when the map is modified 
 (when the encoder config specifies a class name).  However, this map, which 
 can be accessed by multiple indexing threads, isn't guarded on any of the 
 reads, which isn't just the common path but also the error messages which 
 dump the registry into the error message.
 I realize the likelihood of a problem is extremely slim, but a bug's a bug.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira



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



[JENKINS] Lucene-Solr-tests-only-trunk-java7 - Build # 2395 - Failure

2012-05-01 Thread Apache Jenkins Server
Build: https://builds.apache.org/job/Lucene-Solr-tests-only-trunk-java7/2395/

1 tests failed.
REGRESSION:  org.apache.lucene.search.TestSearcherManager.testSearcherManager

Error Message:


Stack Trace:
java.lang.AssertionError
at 
__randomizedtesting.SeedInfo.seed([4E8F23F3DAA59805:42A06B496CACF9F8]:0)
at org.junit.Assert.fail(Assert.java:92)
at org.junit.Assert.assertTrue(Assert.java:43)
at org.junit.Assert.assertTrue(Assert.java:54)
at 
org.apache.lucene.search.TestSearcherManager.getFinalSearcher(TestSearcherManager.java:63)
at 
org.apache.lucene.index.ThreadedIndexingAndSearchingTestCase.runTest(ThreadedIndexingAndSearchingTestCase.java:505)
at 
org.apache.lucene.search.TestSearcherManager.testSearcherManager(TestSearcherManager.java:55)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at 
com.carrotsearch.randomizedtesting.RandomizedRunner.invoke(RandomizedRunner.java:1913)
at 
com.carrotsearch.randomizedtesting.RandomizedRunner.access$1100(RandomizedRunner.java:131)
at 
com.carrotsearch.randomizedtesting.RandomizedRunner$6.evaluate(RandomizedRunner.java:805)
at 
com.carrotsearch.randomizedtesting.RandomizedRunner$7.evaluate(RandomizedRunner.java:866)
at 
com.carrotsearch.randomizedtesting.RandomizedRunner$8.evaluate(RandomizedRunner.java:880)
at 
org.apache.lucene.util.LuceneTestCase$SubclassSetupTeardownRule$1.evaluate(LuceneTestCase.java:770)
at 
org.apache.lucene.util.LuceneTestCase$InternalSetupTeardownRule$1.evaluate(LuceneTestCase.java:692)
at 
org.apache.lucene.util.SystemPropertiesInvariantRule$1.evaluate(SystemPropertiesInvariantRule.java:69)
at 
org.apache.lucene.util.LuceneTestCase$TestResultInterceptorRule$1.evaluate(LuceneTestCase.java:625)
at 
org.apache.lucene.util.UncaughtExceptionsRule$1.evaluate(UncaughtExceptionsRule.java:75)
at 
org.apache.lucene.util.LuceneTestCase$SaveThreadAndTestNameRule$1.evaluate(LuceneTestCase.java:664)
at 
com.carrotsearch.randomizedtesting.RandomizedRunner.runSingleTest(RandomizedRunner.java:812)
at 
com.carrotsearch.randomizedtesting.RandomizedRunner.access$700(RandomizedRunner.java:131)
at 
com.carrotsearch.randomizedtesting.RandomizedRunner$3$1.run(RandomizedRunner.java:668)
at 
com.carrotsearch.randomizedtesting.RandomizedRunner$3.evaluate(RandomizedRunner.java:687)
at 
com.carrotsearch.randomizedtesting.RandomizedRunner$4.evaluate(RandomizedRunner.java:723)
at 
com.carrotsearch.randomizedtesting.RandomizedRunner$5.evaluate(RandomizedRunner.java:734)
at 
org.apache.lucene.util.UncaughtExceptionsRule$1.evaluate(UncaughtExceptionsRule.java:75)
at 
org.apache.lucene.util.StoreClassNameRule$1.evaluate(StoreClassNameRule.java:38)
at 
org.apache.lucene.util.SystemPropertiesInvariantRule$1.evaluate(SystemPropertiesInvariantRule.java:69)
at 
com.carrotsearch.randomizedtesting.RandomizedRunner.runSuite(RandomizedRunner.java:604)
at 
com.carrotsearch.randomizedtesting.RandomizedRunner.access$400(RandomizedRunner.java:131)
at 
com.carrotsearch.randomizedtesting.RandomizedRunner$2.run(RandomizedRunner.java:550)




Build Log (for compile errors):
[...truncated 1629 lines...]



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

[JENKINS] Lucene-Solr-tests-only-trunk - Build # 13657 - Failure

2012-05-01 Thread Apache Jenkins Server
Build: https://builds.apache.org/job/Lucene-Solr-tests-only-trunk/13657/

1 tests failed.
REGRESSION:  org.apache.lucene.search.TestSearcherManager.testSearcherManager

Error Message:


Stack Trace:
java.lang.AssertionError
at 
__randomizedtesting.SeedInfo.seed([7BE3A3BA9711FD3E:77CCEB0021189CC3]:0)
at org.junit.Assert.fail(Assert.java:92)
at org.junit.Assert.assertTrue(Assert.java:43)
at org.junit.Assert.assertTrue(Assert.java:54)
at 
org.apache.lucene.search.TestSearcherManager.getFinalSearcher(TestSearcherManager.java:63)
at 
org.apache.lucene.index.ThreadedIndexingAndSearchingTestCase.runTest(ThreadedIndexingAndSearchingTestCase.java:505)
at 
org.apache.lucene.search.TestSearcherManager.testSearcherManager(TestSearcherManager.java:55)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at 
com.carrotsearch.randomizedtesting.RandomizedRunner.invoke(RandomizedRunner.java:1913)
at 
com.carrotsearch.randomizedtesting.RandomizedRunner.access$1100(RandomizedRunner.java:131)
at 
com.carrotsearch.randomizedtesting.RandomizedRunner$6.evaluate(RandomizedRunner.java:805)
at 
com.carrotsearch.randomizedtesting.RandomizedRunner$7.evaluate(RandomizedRunner.java:866)
at 
com.carrotsearch.randomizedtesting.RandomizedRunner$8.evaluate(RandomizedRunner.java:880)
at 
org.apache.lucene.util.LuceneTestCase$SubclassSetupTeardownRule$1.evaluate(LuceneTestCase.java:770)
at 
org.apache.lucene.util.LuceneTestCase$InternalSetupTeardownRule$1.evaluate(LuceneTestCase.java:692)
at 
org.apache.lucene.util.SystemPropertiesInvariantRule$1.evaluate(SystemPropertiesInvariantRule.java:69)
at 
org.apache.lucene.util.LuceneTestCase$TestResultInterceptorRule$1.evaluate(LuceneTestCase.java:625)
at 
org.apache.lucene.util.UncaughtExceptionsRule$1.evaluate(UncaughtExceptionsRule.java:75)
at 
org.apache.lucene.util.LuceneTestCase$SaveThreadAndTestNameRule$1.evaluate(LuceneTestCase.java:664)
at 
com.carrotsearch.randomizedtesting.RandomizedRunner.runSingleTest(RandomizedRunner.java:812)
at 
com.carrotsearch.randomizedtesting.RandomizedRunner.access$700(RandomizedRunner.java:131)
at 
com.carrotsearch.randomizedtesting.RandomizedRunner$3$1.run(RandomizedRunner.java:668)
at 
com.carrotsearch.randomizedtesting.RandomizedRunner$3.evaluate(RandomizedRunner.java:687)
at 
com.carrotsearch.randomizedtesting.RandomizedRunner$4.evaluate(RandomizedRunner.java:723)
at 
com.carrotsearch.randomizedtesting.RandomizedRunner$5.evaluate(RandomizedRunner.java:734)
at 
org.apache.lucene.util.UncaughtExceptionsRule$1.evaluate(UncaughtExceptionsRule.java:75)
at 
org.apache.lucene.util.StoreClassNameRule$1.evaluate(StoreClassNameRule.java:38)
at 
org.apache.lucene.util.SystemPropertiesInvariantRule$1.evaluate(SystemPropertiesInvariantRule.java:69)
at 
com.carrotsearch.randomizedtesting.RandomizedRunner.runSuite(RandomizedRunner.java:604)
at 
com.carrotsearch.randomizedtesting.RandomizedRunner.access$400(RandomizedRunner.java:131)
at 
com.carrotsearch.randomizedtesting.RandomizedRunner$2.run(RandomizedRunner.java:550)




Build Log (for compile errors):
[...truncated 1601 lines...]



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

[JENKINS] Lucene-Solr-tests-only-trunk - Build # 13658 - Still Failing

2012-05-01 Thread Apache Jenkins Server
Build: https://builds.apache.org/job/Lucene-Solr-tests-only-trunk/13658/

1 tests failed.
FAILED:  org.apache.lucene.search.TestSearcherManager.testSearcherManager

Error Message:


Stack Trace:
java.lang.AssertionError
at 
__randomizedtesting.SeedInfo.seed([1DADD745DCD7932:DF595CEEBC418CF]:0)
at org.junit.Assert.fail(Assert.java:92)
at org.junit.Assert.assertTrue(Assert.java:43)
at org.junit.Assert.assertTrue(Assert.java:54)
at 
org.apache.lucene.search.TestSearcherManager.getFinalSearcher(TestSearcherManager.java:63)
at 
org.apache.lucene.index.ThreadedIndexingAndSearchingTestCase.runTest(ThreadedIndexingAndSearchingTestCase.java:505)
at 
org.apache.lucene.search.TestSearcherManager.testSearcherManager(TestSearcherManager.java:55)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at 
com.carrotsearch.randomizedtesting.RandomizedRunner.invoke(RandomizedRunner.java:1913)
at 
com.carrotsearch.randomizedtesting.RandomizedRunner.access$1100(RandomizedRunner.java:131)
at 
com.carrotsearch.randomizedtesting.RandomizedRunner$6.evaluate(RandomizedRunner.java:805)
at 
com.carrotsearch.randomizedtesting.RandomizedRunner$7.evaluate(RandomizedRunner.java:866)
at 
com.carrotsearch.randomizedtesting.RandomizedRunner$8.evaluate(RandomizedRunner.java:880)
at 
org.apache.lucene.util.LuceneTestCase$SubclassSetupTeardownRule$1.evaluate(LuceneTestCase.java:770)
at 
org.apache.lucene.util.LuceneTestCase$InternalSetupTeardownRule$1.evaluate(LuceneTestCase.java:692)
at 
org.apache.lucene.util.SystemPropertiesInvariantRule$1.evaluate(SystemPropertiesInvariantRule.java:69)
at 
org.apache.lucene.util.LuceneTestCase$TestResultInterceptorRule$1.evaluate(LuceneTestCase.java:625)
at 
org.apache.lucene.util.UncaughtExceptionsRule$1.evaluate(UncaughtExceptionsRule.java:75)
at 
org.apache.lucene.util.LuceneTestCase$SaveThreadAndTestNameRule$1.evaluate(LuceneTestCase.java:664)
at 
com.carrotsearch.randomizedtesting.RandomizedRunner.runSingleTest(RandomizedRunner.java:812)
at 
com.carrotsearch.randomizedtesting.RandomizedRunner.access$700(RandomizedRunner.java:131)
at 
com.carrotsearch.randomizedtesting.RandomizedRunner$3$1.run(RandomizedRunner.java:668)
at 
com.carrotsearch.randomizedtesting.RandomizedRunner$3.evaluate(RandomizedRunner.java:687)
at 
com.carrotsearch.randomizedtesting.RandomizedRunner$4.evaluate(RandomizedRunner.java:723)
at 
com.carrotsearch.randomizedtesting.RandomizedRunner$5.evaluate(RandomizedRunner.java:734)
at 
org.apache.lucene.util.UncaughtExceptionsRule$1.evaluate(UncaughtExceptionsRule.java:75)
at 
org.apache.lucene.util.StoreClassNameRule$1.evaluate(StoreClassNameRule.java:38)
at 
org.apache.lucene.util.SystemPropertiesInvariantRule$1.evaluate(SystemPropertiesInvariantRule.java:69)
at 
com.carrotsearch.randomizedtesting.RandomizedRunner.runSuite(RandomizedRunner.java:604)
at 
com.carrotsearch.randomizedtesting.RandomizedRunner.access$400(RandomizedRunner.java:131)
at 
com.carrotsearch.randomizedtesting.RandomizedRunner$2.run(RandomizedRunner.java:550)




Build Log (for compile errors):
[...truncated 1601 lines...]



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

Re: [JENKINS] Lucene-Solr-tests-only-trunk - Build # 13658 - Still Failing

2012-05-01 Thread Shai Erera
My bad. Mispelled unlock with lock in the finally part ! (so I ended up
locking twice).

Will add a deterministic test commit the fix

Sorry !

Shai

On Tue, May 1, 2012 at 6:46 PM, Apache Jenkins Server 
jenk...@builds.apache.org wrote:

 Build: https://builds.apache.org/job/Lucene-Solr-tests-only-trunk/13658/

 1 tests failed.
 FAILED:  org.apache.lucene.search.TestSearcherManager.testSearcherManager

 Error Message:


 Stack Trace:
 java.lang.AssertionError
at
 __randomizedtesting.SeedInfo.seed([1DADD745DCD7932:DF595CEEBC418CF]:0)
at org.junit.Assert.fail(Assert.java:92)
at org.junit.Assert.assertTrue(Assert.java:43)
at org.junit.Assert.assertTrue(Assert.java:54)
at
 org.apache.lucene.search.TestSearcherManager.getFinalSearcher(TestSearcherManager.java:63)
at
 org.apache.lucene.index.ThreadedIndexingAndSearchingTestCase.runTest(ThreadedIndexingAndSearchingTestCase.java:505)
at
 org.apache.lucene.search.TestSearcherManager.testSearcherManager(TestSearcherManager.java:55)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at
 com.carrotsearch.randomizedtesting.RandomizedRunner.invoke(RandomizedRunner.java:1913)
at
 com.carrotsearch.randomizedtesting.RandomizedRunner.access$1100(RandomizedRunner.java:131)
at
 com.carrotsearch.randomizedtesting.RandomizedRunner$6.evaluate(RandomizedRunner.java:805)
at
 com.carrotsearch.randomizedtesting.RandomizedRunner$7.evaluate(RandomizedRunner.java:866)
at
 com.carrotsearch.randomizedtesting.RandomizedRunner$8.evaluate(RandomizedRunner.java:880)
at
 org.apache.lucene.util.LuceneTestCase$SubclassSetupTeardownRule$1.evaluate(LuceneTestCase.java:770)
at
 org.apache.lucene.util.LuceneTestCase$InternalSetupTeardownRule$1.evaluate(LuceneTestCase.java:692)
at
 org.apache.lucene.util.SystemPropertiesInvariantRule$1.evaluate(SystemPropertiesInvariantRule.java:69)
at
 org.apache.lucene.util.LuceneTestCase$TestResultInterceptorRule$1.evaluate(LuceneTestCase.java:625)
at
 org.apache.lucene.util.UncaughtExceptionsRule$1.evaluate(UncaughtExceptionsRule.java:75)
at
 org.apache.lucene.util.LuceneTestCase$SaveThreadAndTestNameRule$1.evaluate(LuceneTestCase.java:664)
at
 com.carrotsearch.randomizedtesting.RandomizedRunner.runSingleTest(RandomizedRunner.java:812)
at
 com.carrotsearch.randomizedtesting.RandomizedRunner.access$700(RandomizedRunner.java:131)
at
 com.carrotsearch.randomizedtesting.RandomizedRunner$3$1.run(RandomizedRunner.java:668)
at
 com.carrotsearch.randomizedtesting.RandomizedRunner$3.evaluate(RandomizedRunner.java:687)
at
 com.carrotsearch.randomizedtesting.RandomizedRunner$4.evaluate(RandomizedRunner.java:723)
at
 com.carrotsearch.randomizedtesting.RandomizedRunner$5.evaluate(RandomizedRunner.java:734)
at
 org.apache.lucene.util.UncaughtExceptionsRule$1.evaluate(UncaughtExceptionsRule.java:75)
at
 org.apache.lucene.util.StoreClassNameRule$1.evaluate(StoreClassNameRule.java:38)
at
 org.apache.lucene.util.SystemPropertiesInvariantRule$1.evaluate(SystemPropertiesInvariantRule.java:69)
at
 com.carrotsearch.randomizedtesting.RandomizedRunner.runSuite(RandomizedRunner.java:604)
at
 com.carrotsearch.randomizedtesting.RandomizedRunner.access$400(RandomizedRunner.java:131)
at
 com.carrotsearch.randomizedtesting.RandomizedRunner$2.run(RandomizedRunner.java:550)




 Build Log (for compile errors):
 [...truncated 1601 lines...]




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



[jira] [Commented] (SOLR-3426) CoreContainer goes looking for nonexistent Log4j class

2012-05-01 Thread Ryan McKinley (JIRA)

[ 
https://issues.apache.org/jira/browse/SOLR-3426?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13265880#comment-13265880
 ] 

Ryan McKinley commented on SOLR-3426:
-

right -- if you are using Log4j, the LogWatcher stuff will not work.

In the current behavior, you should get a warning in the logs and when you try 
the logging UI it will give a warning that it did not load.

See: SOLR-3399 and SOLR-3358 that look at ways to capture log4j events.  


 CoreContainer goes looking for nonexistent Log4j class
 --

 Key: SOLR-3426
 URL: https://issues.apache.org/jira/browse/SOLR-3426
 Project: Solr
  Issue Type: Bug
Affects Versions: 4.0
Reporter: Benson Margulies

 The code quoted here from CoreContainer.java ends up looking for a class 
 named Log4j instead of Log4jWatcher. Neither name exists in the tree. 
   // Now load the framework
   if(fname!=null) {
 if(JUL.equalsIgnoreCase(fname)) {
   logging = new JulWatcher(slf4jImpl);
 }
 //else if( Log4j.equals(fname) ) {
 //  logging = new Log4jWatcher(slf4jImpl);
 //}
 else {
   try {
 logging = loader.newInstance(fname, LogWatcher.class);
   }
   catch (Throwable e) {
 log.warn(Unable to load LogWatcher, e);
   }
 }

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira



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



Re: [JENKINS] Lucene-Solr-tests-only-trunk - Build # 13658 - Still Failing

2012-05-01 Thread Shai Erera
Committed fix in r1332733.

On Tue, May 1, 2012 at 7:07 PM, Shai Erera ser...@gmail.com wrote:

 My bad. Mispelled unlock with lock in the finally part ! (so I ended up
 locking twice).

 Will add a deterministic test commit the fix

 Sorry !

 Shai

 On Tue, May 1, 2012 at 6:46 PM, Apache Jenkins Server 
 jenk...@builds.apache.org wrote:

 Build: https://builds.apache.org/job/Lucene-Solr-tests-only-trunk/13658/

 1 tests failed.
 FAILED:  org.apache.lucene.search.TestSearcherManager.testSearcherManager

 Error Message:


 Stack Trace:
 java.lang.AssertionError
at
 __randomizedtesting.SeedInfo.seed([1DADD745DCD7932:DF595CEEBC418CF]:0)
at org.junit.Assert.fail(Assert.java:92)
at org.junit.Assert.assertTrue(Assert.java:43)
at org.junit.Assert.assertTrue(Assert.java:54)
at
 org.apache.lucene.search.TestSearcherManager.getFinalSearcher(TestSearcherManager.java:63)
at
 org.apache.lucene.index.ThreadedIndexingAndSearchingTestCase.runTest(ThreadedIndexingAndSearchingTestCase.java:505)
at
 org.apache.lucene.search.TestSearcherManager.testSearcherManager(TestSearcherManager.java:55)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at
 com.carrotsearch.randomizedtesting.RandomizedRunner.invoke(RandomizedRunner.java:1913)
at
 com.carrotsearch.randomizedtesting.RandomizedRunner.access$1100(RandomizedRunner.java:131)
at
 com.carrotsearch.randomizedtesting.RandomizedRunner$6.evaluate(RandomizedRunner.java:805)
at
 com.carrotsearch.randomizedtesting.RandomizedRunner$7.evaluate(RandomizedRunner.java:866)
at
 com.carrotsearch.randomizedtesting.RandomizedRunner$8.evaluate(RandomizedRunner.java:880)
at
 org.apache.lucene.util.LuceneTestCase$SubclassSetupTeardownRule$1.evaluate(LuceneTestCase.java:770)
at
 org.apache.lucene.util.LuceneTestCase$InternalSetupTeardownRule$1.evaluate(LuceneTestCase.java:692)
at
 org.apache.lucene.util.SystemPropertiesInvariantRule$1.evaluate(SystemPropertiesInvariantRule.java:69)
at
 org.apache.lucene.util.LuceneTestCase$TestResultInterceptorRule$1.evaluate(LuceneTestCase.java:625)
at
 org.apache.lucene.util.UncaughtExceptionsRule$1.evaluate(UncaughtExceptionsRule.java:75)
at
 org.apache.lucene.util.LuceneTestCase$SaveThreadAndTestNameRule$1.evaluate(LuceneTestCase.java:664)
at
 com.carrotsearch.randomizedtesting.RandomizedRunner.runSingleTest(RandomizedRunner.java:812)
at
 com.carrotsearch.randomizedtesting.RandomizedRunner.access$700(RandomizedRunner.java:131)
at
 com.carrotsearch.randomizedtesting.RandomizedRunner$3$1.run(RandomizedRunner.java:668)
at
 com.carrotsearch.randomizedtesting.RandomizedRunner$3.evaluate(RandomizedRunner.java:687)
at
 com.carrotsearch.randomizedtesting.RandomizedRunner$4.evaluate(RandomizedRunner.java:723)
at
 com.carrotsearch.randomizedtesting.RandomizedRunner$5.evaluate(RandomizedRunner.java:734)
at
 org.apache.lucene.util.UncaughtExceptionsRule$1.evaluate(UncaughtExceptionsRule.java:75)
at
 org.apache.lucene.util.StoreClassNameRule$1.evaluate(StoreClassNameRule.java:38)
at
 org.apache.lucene.util.SystemPropertiesInvariantRule$1.evaluate(SystemPropertiesInvariantRule.java:69)
at
 com.carrotsearch.randomizedtesting.RandomizedRunner.runSuite(RandomizedRunner.java:604)
at
 com.carrotsearch.randomizedtesting.RandomizedRunner.access$400(RandomizedRunner.java:131)
at
 com.carrotsearch.randomizedtesting.RandomizedRunner$2.run(RandomizedRunner.java:550)




 Build Log (for compile errors):
 [...truncated 1601 lines...]




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





Re: LUCENE-4012

2012-05-01 Thread Robert Muir
I left a comment on the issue, I think this looks worth pursuing.

Since we removed the java serialization support, this would be a nice
alternative to have (in addition to the xml queryparser).

On Mon, Apr 30, 2012 at 11:26 AM, Benson Margulies
bimargul...@gmail.com wrote:
 I'd be ever so grateful for feedback on what I've got here so far.

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




-- 
lucidimagination.com

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



[jira] [Commented] (LUCENE-3830) MappingCharFilter could be improved by switching to an FST.

2012-05-01 Thread Robert Muir (JIRA)

[ 
https://issues.apache.org/jira/browse/LUCENE-3830?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13265888#comment-13265888
 ] 

Robert Muir commented on LUCENE-3830:
-

I only glanced at the Schulz/Mihov paper, but it seemed like in order for it to 
work you have
to add extra transitions (loops) which would make the FST infinite? (could be 
totally wrong here)

Maybe there is some creative way we could do this, but thats just in addition 
to the fact the
paper is ... like their other papers and would take some work to decode anyway 
:)

 MappingCharFilter could be improved by switching to an FST.
 ---

 Key: LUCENE-3830
 URL: https://issues.apache.org/jira/browse/LUCENE-3830
 Project: Lucene - Java
  Issue Type: Improvement
Reporter: Dawid Weiss
Assignee: Michael McCandless
Priority: Minor
  Labels: gsoc2012, lucene-gsoc-12
 Fix For: 4.0

 Attachments: LUCENE-3830.patch


 MappingCharFilter stores an overly complex tree-like structure for matching 
 input patterns. The input is a union of fixed strings mapped to a set of 
 fixed strings; an fst matcher would be ideal here and provide both memory and 
 speed improvement I bet.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira



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



[jira] [Updated] (SOLR-3426) CoreContainer goes looking for nonexistent Log4j class

2012-05-01 Thread Benson Margulies (JIRA)

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

Benson Margulies updated SOLR-3426:
---

Attachment: solr-3426.patch

here is a temporary fix that removes all the noisy backtracing from the log.

 CoreContainer goes looking for nonexistent Log4j class
 --

 Key: SOLR-3426
 URL: https://issues.apache.org/jira/browse/SOLR-3426
 Project: Solr
  Issue Type: Bug
Affects Versions: 4.0
Reporter: Benson Margulies
 Attachments: solr-3426.patch


 The code quoted here from CoreContainer.java ends up looking for a class 
 named Log4j instead of Log4jWatcher. Neither name exists in the tree. 
   // Now load the framework
   if(fname!=null) {
 if(JUL.equalsIgnoreCase(fname)) {
   logging = new JulWatcher(slf4jImpl);
 }
 //else if( Log4j.equals(fname) ) {
 //  logging = new Log4jWatcher(slf4jImpl);
 //}
 else {
   try {
 logging = loader.newInstance(fname, LogWatcher.class);
   }
   catch (Throwable e) {
 log.warn(Unable to load LogWatcher, e);
   }
 }

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira



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



[jira] [Commented] (SOLR-3426) CoreContainer goes looking for nonexistent Log4j class

2012-05-01 Thread Benson Margulies (JIRA)

[ 
https://issues.apache.org/jira/browse/SOLR-3426?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13265900#comment-13265900
 ] 

Benson Margulies commented on SOLR-3426:


To be clear, the 'warning' is a screenful of backtraces, and that's pretty 
scary and annoying.



 CoreContainer goes looking for nonexistent Log4j class
 --

 Key: SOLR-3426
 URL: https://issues.apache.org/jira/browse/SOLR-3426
 Project: Solr
  Issue Type: Bug
Affects Versions: 4.0
Reporter: Benson Margulies
 Attachments: solr-3426.patch


 The code quoted here from CoreContainer.java ends up looking for a class 
 named Log4j instead of Log4jWatcher. Neither name exists in the tree. 
   // Now load the framework
   if(fname!=null) {
 if(JUL.equalsIgnoreCase(fname)) {
   logging = new JulWatcher(slf4jImpl);
 }
 //else if( Log4j.equals(fname) ) {
 //  logging = new Log4jWatcher(slf4jImpl);
 //}
 else {
   try {
 logging = loader.newInstance(fname, LogWatcher.class);
   }
   catch (Throwable e) {
 log.warn(Unable to load LogWatcher, e);
   }
 }

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira



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



[jira] [Commented] (LUCENE-4012) Make all query classes serializable with Jackson, and provide a trivial query parser to consume them

2012-05-01 Thread Benson Margulies (JIRA)

[ 
https://issues.apache.org/jira/browse/LUCENE-4012?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13265901#comment-13265901
 ] 

Benson Margulies commented on LUCENE-4012:
--

Right. The tiny patch is an example of the sort of change, and I think it's 
always good to have 'getters'. 

In fact, I don't even need that patch for the code to work, but i thought it 
was a good idea.

I'll continue to set this up. Let me know when/how/if you want it shaped to go 
into the tree somewhere.


 Make all query classes serializable with Jackson, and provide a trivial query 
 parser to consume them
 

 Key: LUCENE-4012
 URL: https://issues.apache.org/jira/browse/LUCENE-4012
 Project: Lucene - Java
  Issue Type: New Feature
  Components: core/queryparser
Affects Versions: 4.0
Reporter: Benson Margulies
 Attachments: bq.patch


 I started off on LUCENE-4004 wanting to use DisjunctionMaxQuery via a parser. 
 However, this wasn't really because I thought that human beans should be 
 improvisationally  composing such thing. My real goal was to concoct a query 
 tree over *here*, and then serialize it to send to Solr over *there*. 
 It occurs to me that if the Xml parser is pretty good for this, JSON would be 
 better. It further occurs to me that the query classes may already all work 
 with Jackson, and, if they don't, the required tweaks will be quite small. By 
 allowing Jackson to write out class names as needed, you get the ability to 
 serialize *any* query, so long as the other side has the classes in class 
 path. A trifle verbose, but not as verbose as XML, and furthermore squishable 
 (though not in a URL) via SMILE or BSON.
 So, the goal of this JIRA is to accumulate tweaks to the query classes to 
 make them more 'bean pattern'. An alternative would be Jackson annotations. 
 However, I suspect that folks would be happier to minimize the level of 
 coupling here; in the extreme, the trivial parser could live in contrib if no 
 one wants a dependency, even optional, on Jackson itself.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira



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



[jira] [Updated] (SOLR-3426) Verbose error message when Log4j is enabled

2012-05-01 Thread Ryan McKinley (JIRA)

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

Ryan McKinley updated SOLR-3426:


  Priority: Trivial  (was: Major)
  Assignee: Ryan McKinley
Issue Type: Improvement  (was: Bug)
   Summary: Verbose error message when Log4j is enabled  (was: 
CoreContainer goes looking for nonexistent Log4j class)

 Verbose error message when Log4j is enabled
 ---

 Key: SOLR-3426
 URL: https://issues.apache.org/jira/browse/SOLR-3426
 Project: Solr
  Issue Type: Improvement
Affects Versions: 4.0
Reporter: Benson Margulies
Assignee: Ryan McKinley
Priority: Trivial
 Attachments: solr-3426.patch


 The code quoted here from CoreContainer.java ends up looking for a class 
 named Log4j instead of Log4jWatcher. Neither name exists in the tree. 
   // Now load the framework
   if(fname!=null) {
 if(JUL.equalsIgnoreCase(fname)) {
   logging = new JulWatcher(slf4jImpl);
 }
 //else if( Log4j.equals(fname) ) {
 //  logging = new Log4jWatcher(slf4jImpl);
 //}
 else {
   try {
 logging = loader.newInstance(fname, LogWatcher.class);
   }
   catch (Throwable e) {
 log.warn(Unable to load LogWatcher, e);
   }
 }

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira



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



[jira] [Commented] (LUCENENET-488) Can't open IndexReader, get OutOFMemory Exception

2012-05-01 Thread Simon Svensson (JIRA)

[ 
https://issues.apache.org/jira/browse/LUCENENET-488?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13265916#comment-13265916
 ] 

Simon Svensson commented on LUCENENET-488:
--

The following may be off since I don't know the inner technical workings of 
Lucene.Net.

All terms in your index is read into an in-memory index when opening an 
IndexReader. The termInfosIndexDivisor tells the IndexReader instance to read 
every n-th term into this index. The default value, 1, will cause every term to 
be loaded into memory. Using termIndexIndexDivisor=2 means that you'll read 
every second term into memory, theoretically halving the required memory size. 
Your value, 10, would only consume a tenth of the memory compared to 
termIndexDivisor=1.

This comes to a price; as 9 out of 10 terms are not cached in memory they take 
longer time to retrieve. This is done in many cases, like a new TermQuery(f, 
test). It needs to seek to the indexed term, then iterate forward until it 
matches the correct term. This could be, if teargas was the indexed term; 
teargas  technicians  tegument  teleconference  temporal  tenotomy  
teocalli  terbium  test. Instead of being able to directly seek to the term, 
we now seek to a term before, and iterate the list for another 8 terms. (It 
would still go faster than the time it took for me to find odd example words...)

I've never measured this, but I doubt that low numbers will cause much trouble. 
Any term except teargas would need to read the term information from disk, 
and this disk read will [probably] end up in the file system cache. I can see a 
problem if you have numbers high enough causing a second disk read, but at what 
value of termInfosIndexDivisor this happens is system-dependent. The size of 
the disk reads, the amount of data per term, etc, would affect this. I guess 
you could use a low-level monitoring tool (Process Monitor?) to see every read 
if you really want to find the perfect number.

I believe this bug report can be closed as invalid; it was a case of default 
values that did not work out for 200 GiB indexes. Do you agree on this, Steven?

 Can't open IndexReader, get OutOFMemory Exception
 -

 Key: LUCENENET-488
 URL: https://issues.apache.org/jira/browse/LUCENENET-488
 Project: Lucene.Net
  Issue Type: Bug
  Components: Lucene.Net Core
Affects Versions: Lucene.Net 2.9.4g
 Environment: Windows server 2008R2
Reporter: Steven

 Have build a large database with ~1Bn records (2 items per document) it has 
 size 200GB on disk. I managed to write the indexe by chunking into 100,000 
 blocks as I ended up with some threading issues (another bug submission). 
 Anyway the index is built but I can't open it and get a memory exception 
 (process explorer gets to 1.5GB allocated before it dies but not sure how 
 reliable that is, but do know there is plenty more RAM left on the box).
 Stack trace below:
 System.OutOfMemoryException: Exception of type 'System.OutOfMemoryException' 
 was
  thrown.
at Lucene.Net.Index.TermInfosReader..ctor(Directory dir, String seg, 
 FieldInf
 os fis, Int32 readBufferSize, Int32 indexDivisor)
at Lucene.Net.Index.SegmentReader.CoreReaders..ctor(SegmentReader 
 origInstanc
 e, Directory dir, SegmentInfo si, Int32 readBufferSize, Int32 
 termsIndexDivisor)
at Lucene.Net.Index.SegmentReader.Get(Boolean readOnly, Directory dir, 
 Segmen
 tInfo si, Int32 readBufferSize, Boolean doOpenStores, Int32 
 termInfosIndexDiviso
 r)
at Lucene.Net.Index.SegmentReader.Get(Boolean readOnly, SegmentInfo si, 
 Int32
  termInfosIndexDivisor)
at Lucene.Net.Index.DirectoryReader..ctor(Directory directory, 
 SegmentInfos s
 is, IndexDeletionPolicy deletionPolicy, Boolean readOnly, Int32 
 termInfosIndexDi
 visor)
at Lucene.Net.Index.DirectoryReader.c__DisplayClass1.Openb__0(String 
 segm
 entFileName)
at Lucene.Net.Index.SegmentInfos.FindSegmentsFile.Run(IndexCommit commit)
at Lucene.Net.Index.DirectoryReader.Open(Directory directory, 
 IndexDeletionPo
 licy deletionPolicy, IndexCommit commit, Boolean readOnly, Int32 
 termInfosIndexD
 ivisor)
at Lucene.Net.Index.IndexReader.Open(String path, Boolean readOnly)
at Lucene.Net.Demo.SearchFiles.Main(String[] args)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Resolved] (SOLR-3426) Verbose error message when Log4j is enabled

2012-05-01 Thread Ryan McKinley (JIRA)

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

Ryan McKinley resolved SOLR-3426.
-

Resolution: Fixed

removed the error trace in revision: 1332752

 Verbose error message when Log4j is enabled
 ---

 Key: SOLR-3426
 URL: https://issues.apache.org/jira/browse/SOLR-3426
 Project: Solr
  Issue Type: Improvement
Affects Versions: 4.0
Reporter: Benson Margulies
Assignee: Ryan McKinley
Priority: Trivial
 Attachments: solr-3426.patch


 The code quoted here from CoreContainer.java ends up looking for a class 
 named Log4j instead of Log4jWatcher. Neither name exists in the tree. 
   // Now load the framework
   if(fname!=null) {
 if(JUL.equalsIgnoreCase(fname)) {
   logging = new JulWatcher(slf4jImpl);
 }
 //else if( Log4j.equals(fname) ) {
 //  logging = new Log4jWatcher(slf4jImpl);
 //}
 else {
   try {
 logging = loader.newInstance(fname, LogWatcher.class);
   }
   catch (Throwable e) {
 log.warn(Unable to load LogWatcher, e);
   }
 }

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira



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



[jira] [Commented] (LUCENE-4012) Make all query classes serializable with Jackson, and provide a trivial query parser to consume them

2012-05-01 Thread Robert Muir (JIRA)

[ 
https://issues.apache.org/jira/browse/LUCENE-4012?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13265919#comment-13265919
 ] 

Robert Muir commented on LUCENE-4012:
-

I think if it works for you, just iterate in your github and ping the issue 
when you make progress?
Otherwise we worry too much about where/how the code sits when that isn't 
really so important
at this stage.

As far as final integration, I think there are a number of ways to do it but 
its really
unrelated to making progress here. One suggestion might be to split 
queryparser/ module
like analyzers/ so we have:
* classic/ [including things based on it: complexPhrase, ext, analyzing]
* flexible/ [including precedence which is based on it]
* xml/
* json/

This could probably make things less confusing, as currently queryparser/ is a 
mix of
different frameworks with different dependencies (e.g. xml depends on queries/ 
and sandbox/,
but the others dont, and json will depend on jackson and maybe other stuff, 
etc, etc).

And then finally, probably a followup issue to do solr integration (i'm more 
fuzzy on that).


 Make all query classes serializable with Jackson, and provide a trivial query 
 parser to consume them
 

 Key: LUCENE-4012
 URL: https://issues.apache.org/jira/browse/LUCENE-4012
 Project: Lucene - Java
  Issue Type: New Feature
  Components: core/queryparser
Affects Versions: 4.0
Reporter: Benson Margulies
 Attachments: bq.patch


 I started off on LUCENE-4004 wanting to use DisjunctionMaxQuery via a parser. 
 However, this wasn't really because I thought that human beans should be 
 improvisationally  composing such thing. My real goal was to concoct a query 
 tree over *here*, and then serialize it to send to Solr over *there*. 
 It occurs to me that if the Xml parser is pretty good for this, JSON would be 
 better. It further occurs to me that the query classes may already all work 
 with Jackson, and, if they don't, the required tweaks will be quite small. By 
 allowing Jackson to write out class names as needed, you get the ability to 
 serialize *any* query, so long as the other side has the classes in class 
 path. A trifle verbose, but not as verbose as XML, and furthermore squishable 
 (though not in a URL) via SMILE or BSON.
 So, the goal of this JIRA is to accumulate tweaks to the query classes to 
 make them more 'bean pattern'. An alternative would be Jackson annotations. 
 However, I suspect that folks would be happier to minimize the level of 
 coupling here; in the extreme, the trivial parser could live in contrib if no 
 one wants a dependency, even optional, on Jackson itself.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira



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



[jira] [Commented] (LUCENE-3892) Add a useful intblock postings format (eg, FOR, PFOR, PFORDelta, Simple9/16/64, etc.)

2012-05-01 Thread Han Jiang (JIRA)

[ 
https://issues.apache.org/jira/browse/LUCENE-3892?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13265950#comment-13265950
 ] 

Han Jiang commented on LUCENE-3892:
---

A postings format named VSEncoding also seems promising! 

It is available here: http://integerencoding.isti.cnr.it/

And license compatible: 
https://github.com/maropu/integer_encoding_library/blob/master/LICENSE

 Add a useful intblock postings format (eg, FOR, PFOR, PFORDelta, 
 Simple9/16/64, etc.)
 -

 Key: LUCENE-3892
 URL: https://issues.apache.org/jira/browse/LUCENE-3892
 Project: Lucene - Java
  Issue Type: Improvement
Reporter: Michael McCandless
  Labels: gsoc2012, lucene-gsoc-12
 Fix For: 4.0

 Attachments: LUCENE-3892_settings.patch, LUCENE-3892_settings.patch


 On the flex branch we explored a number of possible intblock
 encodings, but for whatever reason never brought them to completion.
 There are still a number of issues opened with patches in different
 states.
 Initial results (based on prototype) were excellent (see
 http://blog.mikemccandless.com/2010/08/lucene-performance-with-pfordelta-codec.html
 ).
 I think this would make a good GSoC project.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira



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



[jira] [Commented] (LUCENE-3830) MappingCharFilter could be improved by switching to an FST.

2012-05-01 Thread Michael McCandless (JIRA)

[ 
https://issues.apache.org/jira/browse/LUCENE-3830?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13265964#comment-13265964
 ] 

Michael McCandless commented on LUCENE-3830:


bq. Just laughing a little bit to stumble on this:

Only 23 pages!

bq. Javadoc is probably wrong (sequence of bytes?).

Thanks Dawid, I'll fix.

bq. I'd probably implement it based on the stack of currently active tokens 
moving through the fst – this way you know when you have a greedy first longest 
match simply by looking at the set of active tokens when a match fires instead 
of restarting from each position.

Hmm I don't quite understand ... can you describe more?

If there's something simple in between what MappingCharFilter (and my patch) 
does today (restart on each position), and the 23 page paper, that would be 
nice :)


 MappingCharFilter could be improved by switching to an FST.
 ---

 Key: LUCENE-3830
 URL: https://issues.apache.org/jira/browse/LUCENE-3830
 Project: Lucene - Java
  Issue Type: Improvement
Reporter: Dawid Weiss
Assignee: Michael McCandless
Priority: Minor
  Labels: gsoc2012, lucene-gsoc-12
 Fix For: 4.0

 Attachments: LUCENE-3830.patch


 MappingCharFilter stores an overly complex tree-like structure for matching 
 input patterns. The input is a union of fixed strings mapped to a set of 
 fixed strings; an fst matcher would be ideal here and provide both memory and 
 speed improvement I bet.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira



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



[jira] [Commented] (SOLR-3406) Support grouped range and query facets.

2012-05-01 Thread David (JIRA)

[ 
https://issues.apache.org/jira/browse/SOLR-3406?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13266046#comment-13266046
 ] 

David commented on SOLR-3406:
-

will this be committed and released in the alpha?

 Support grouped range and query facets.
 ---

 Key: SOLR-3406
 URL: https://issues.apache.org/jira/browse/SOLR-3406
 Project: Solr
  Issue Type: New Feature
Reporter: David
Priority: Critical
 Fix For: 4.0

 Attachments: SOLR-2898-backport.patch, SOLR-3406.patch, 
 SOLR-3406.patch

   Original Estimate: 504h
  Remaining Estimate: 504h

 Need the ability to support grouped range and query facets. Grouped facet 
 fields have already been implemented in SOLR-2898 but we still need the 
 ability to compute grouped range and query facets.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira



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



[jira] [Updated] (SOLR-2794) change the default of hl.phraseLimit to 5000

2012-05-01 Thread zarni (JIRA)

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

zarni updated SOLR-2794:


Attachment: SOLR-2794.patch

 change the default of hl.phraseLimit to 5000
 

 Key: SOLR-2794
 URL: https://issues.apache.org/jira/browse/SOLR-2794
 Project: Solr
  Issue Type: Improvement
  Components: highlighter
Affects Versions: 3.4, 4.0
Reporter: Koji Sekiguchi
Priority: Trivial
 Attachments: SOLR-2794.patch


 David Smiley suggested that the default of hl.phraseLimit parameter should be 
 5000 (5000 was suggested by Mike). See LUCENE-3234.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira



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



[jira] [Created] (SOLR-3427) Faceting under some conditions throws NPE

2012-05-01 Thread Jamie Johnson (JIRA)
Jamie Johnson created SOLR-3427:
---

 Summary: Faceting under some conditions throws NPE
 Key: SOLR-3427
 URL: https://issues.apache.org/jira/browse/SOLR-3427
 Project: Solr
  Issue Type: Bug
  Components: SearchComponents - other
Affects Versions: 4.0
Reporter: Jamie Johnson


Under some circumstances faceting in Solr throws the following NPE

May 1, 2012 8:48:52 PM org.apache.solr.common.SolrException log
SEVERE: java.lang.NullPointerException
   at org.apache.lucene.index.DocTermOrds.lookupTerm(DocTermOrds.java:807)
   at 
org.apache.solr.request.UnInvertedField.getTermValue(UnInvertedField.java:636)
   at 
org.apache.solr.request.UnInvertedField.getCounts(UnInvertedField.java:411)
   at 
org.apache.solr.request.SimpleFacets.getTermCounts(SimpleFacets.java:300)
   at 
org.apache.solr.request.SimpleFacets.getFacetFieldCounts(SimpleFacets.java:396)
   at 
org.apache.solr.request.SimpleFacets.getFacetCounts(SimpleFacets.java:205)
   at 
org.apache.solr.handler.component.FacetComponent.process(FacetComponent.java:81)
   at 
org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:204)
   at 
org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:129)
   at org.apache.solr.core.SolrCore.execute(SolrCore.java:1550)
   at 
org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:442)
   at 
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:263)
   at 
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1337)
   at 
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:484)
   at 
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119)
   at 
org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:524)
   at 
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:233)
   at 
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1065)
   at 
org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:413)
   at 
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:192)
   at 
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:999)
   at 
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
   at 
org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:250)
   at 
org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:149)
   at 
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:111)
   at org.eclipse.jetty.server.Server.handle(Server.java:351)
   at 
org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:454)
   at 
org.eclipse.jetty.server.BlockingHttpConnection.handleRequest(BlockingHttpConnection.java:47)
   at 
org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:900)
   at 
org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:954)
   at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:857)
   at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)
   at 
org.eclipse.jetty.server.BlockingHttpConnection.handle(BlockingHttpConnection.java:66)
   at 
org.eclipse.jetty.server.bio.SocketConnector$ConnectorEndPoint.run(SocketConnector.java:254)
   at 
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:599)
   at 
org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:534)
   at java.lang.Thread.run(Thread.java:662)

I've noticed this happening after doing deletes.  When I've seen this issue 
before an optimize has made the issue go away.  I believe this may also be 
related to the describe here:
http://stackoverflow.com/questions/10124055/solr-faceted-search-throws-nullpointerexception-with-http-500-status

I have been unable to reproduce this in a test but this has come up at least 3 
times in our environments.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira



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



[jira] [Commented] (SOLR-3296) Explore alternatives to Commons CSV

2012-05-01 Thread Chris Male (JIRA)

[ 
https://issues.apache.org/jira/browse/SOLR-3296?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13266253#comment-13266253
 ] 

Chris Male commented on SOLR-3296:
--

Funny you ask,

When I submitted the bundle I received the same 'Staging Completed' 
notification as I did when I submitted langdetect.  A relevant snippet from the 
email:

{noformat}
The following artifacts have been staged to the Central Bundles-102 
(u:MYUSERNAME, a:122.59.251.231) repository.
{noformat}

with all the appropriate artifacts listed.

Just today I received a 'Staging Repository Dropped' notification with only the 
following information:

{noformat}
The Central Bundles-102 (u:MYUSERNAME, a:122.59.251.231) staging repository has 
been dropped.
{noformat}

When langdetect was accepted, I received a 'Promotion Completed' email, so I 
think this is a bad sign but I've received no information about why it was 
rejected and don't know how to proceed further.

 Explore alternatives to Commons CSV
 ---

 Key: SOLR-3296
 URL: https://issues.apache.org/jira/browse/SOLR-3296
 Project: Solr
  Issue Type: Improvement
  Components: Build
Reporter: Chris Male
 Attachments: SOLR-3295-CSV-tests.patch, SOLR-3296_noggit.patch, 
 pom.xml, pom.xml


 In LUCENE-3930 we're implementing some less than ideal solutions to make 
 available the unreleased version of commons-csv.  We could remove these 
 solutions if we didn't rely on this lib.  So I think we should explore 
 alternatives. 
 I think [opencsv|http://opencsv.sourceforge.net/] is an alternative to 
 consider, I've used it in many commercial projects.  Bizarrely Commons-CSV's 
 website says that Opencsv uses a BSD license, but this isn't the case, 
 OpenCSV uses ASL2.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira



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



RE: svn commit: r1332886 - /lucene/dev/trunk/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestUAX29URLEmailTokenizer.java

2012-05-01 Thread Steven A Rowe
Thanks, Robert. - Steve

-Original Message-
From: rm...@apache.org [mailto:rm...@apache.org] 
Sent: Tuesday, May 01, 2012 8:11 PM
To: comm...@lucene.apache.org
Subject: svn commit: r1332886 - 
/lucene/dev/trunk/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestUAX29URLEmailTokenizer.java

Author: rmuir
Date: Wed May  2 00:10:55 2012
New Revision: 1332886

URL: http://svn.apache.org/viewvc?rev=1332886view=rev
Log:
LUCENE-3880: add backwards test

Modified:

lucene/dev/trunk/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestUAX29URLEmailTokenizer.java

Modified: 
lucene/dev/trunk/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestUAX29URLEmailTokenizer.java
URL: 
http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestUAX29URLEmailTokenizer.java?rev=1332886r1=1332885r2=1332886view=diff
==
--- 
lucene/dev/trunk/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestUAX29URLEmailTokenizer.java
 (original)
+++ lucene/dev/trunk/lucene/analysis/common/src/test/org/apache/lucene/a
+++ nalysis/core/TestUAX29URLEmailTokenizer.java Wed May  2 00:10:55 
+++ 2012
@@ -470,6 +470,21 @@ public class TestUAX29URLEmailTokenizer 
 checkOneTerm(a, 壹゙, 壹); // ideographic Bug
 checkOneTerm(a, 아゙,  아゙); // hangul Works
   }
+  
+  // LUCENE-3880
+  /** @deprecated remove this and sophisticated backwards layer in 5.0 
+ */  @Deprecated  public void testMailtoBackwards()  throws Exception {
+Analyzer a = new Analyzer() {
+  @Override
+  protected TokenStreamComponents createComponents(String fieldName, 
Reader reader) {
+Tokenizer tokenizer = new UAX29URLEmailTokenizer(Version.LUCENE_34, 
reader);
+return new TokenStreamComponents(tokenizer);
+  }
+};
+assertAnalyzesTo(a, mailto:t...@example.org;,
+new String[] { mailto:test;, example.org });  }
 
   /** blast some random strings through the analyzer */
   public void testRandomStrings() throws Exception {




[jira] [Created] (LUCENE-4027) 3.x codec should have its own skipper

2012-05-01 Thread Robert Muir (JIRA)
Robert Muir created LUCENE-4027:
---

 Summary: 3.x codec should have its own skipper
 Key: LUCENE-4027
 URL: https://issues.apache.org/jira/browse/LUCENE-4027
 Project: Lucene - Java
  Issue Type: Bug
Reporter: Robert Muir


Currently it uses the 4.0 impl..., worse the PreFlexRW writes with 4.0 impl too.

This is dangerous. we changed the format even to support offsets (though 3.x 
should be unaffacted by that), but just in general I don't even trust
that testbackwardscompatibility has big enough indexes to ever use any skipdata
to detect if we screw up.



--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira



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



[jira] [Updated] (LUCENE-4027) 3.x codec should have its own skipper

2012-05-01 Thread Robert Muir (JIRA)

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

Robert Muir updated LUCENE-4027:


Attachment: LUCENE-4027.patch

 3.x codec should have its own skipper
 -

 Key: LUCENE-4027
 URL: https://issues.apache.org/jira/browse/LUCENE-4027
 Project: Lucene - Java
  Issue Type: Bug
Reporter: Robert Muir
 Attachments: LUCENE-4027.patch


 Currently it uses the 4.0 impl..., worse the PreFlexRW writes with 4.0 impl 
 too.
 This is dangerous. we changed the format even to support offsets (though 3.x 
 should be unaffacted by that), but just in general I don't even trust
 that testbackwardscompatibility has big enough indexes to ever use any 
 skipdata
 to detect if we screw up.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira



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



[jira] [Commented] (SOLR-3427) Faceting under some conditions throws NPE

2012-05-01 Thread Jamie Johnson (JIRA)

[ 
https://issues.apache.org/jira/browse/SOLR-3427?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13266271#comment-13266271
 ] 

Jamie Johnson commented on SOLR-3427:
-

I believe the issue is happening on a multivalued field where the document 
which contributed that field has been deleted.  If I can narrow it down to the 
field that is causing the issue in my index what information can I provide to 
you that would give you more insight into what is happening?

 Faceting under some conditions throws NPE
 -

 Key: SOLR-3427
 URL: https://issues.apache.org/jira/browse/SOLR-3427
 Project: Solr
  Issue Type: Bug
  Components: SearchComponents - other
Affects Versions: 4.0
Reporter: Jamie Johnson

 Under some circumstances faceting in Solr throws the following NPE
 May 1, 2012 8:48:52 PM org.apache.solr.common.SolrException log
 SEVERE: java.lang.NullPointerException
at org.apache.lucene.index.DocTermOrds.lookupTerm(DocTermOrds.java:807)
at 
 org.apache.solr.request.UnInvertedField.getTermValue(UnInvertedField.java:636)
at 
 org.apache.solr.request.UnInvertedField.getCounts(UnInvertedField.java:411)
at 
 org.apache.solr.request.SimpleFacets.getTermCounts(SimpleFacets.java:300)
at 
 org.apache.solr.request.SimpleFacets.getFacetFieldCounts(SimpleFacets.java:396)
at 
 org.apache.solr.request.SimpleFacets.getFacetCounts(SimpleFacets.java:205)
at 
 org.apache.solr.handler.component.FacetComponent.process(FacetComponent.java:81)
at 
 org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:204)
at 
 org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:129)
at org.apache.solr.core.SolrCore.execute(SolrCore.java:1550)
at 
 org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:442)
at 
 org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:263)
at 
 org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1337)
at 
 org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:484)
at 
 org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119)
at 
 org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:524)
at 
 org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:233)
at 
 org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1065)
at 
 org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:413)
at 
 org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:192)
at 
 org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:999)
at 
 org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
at 
 org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:250)
at 
 org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:149)
at 
 org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:111)
at org.eclipse.jetty.server.Server.handle(Server.java:351)
at 
 org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:454)
at 
 org.eclipse.jetty.server.BlockingHttpConnection.handleRequest(BlockingHttpConnection.java:47)
at 
 org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:900)
at 
 org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:954)
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:857)
at 
 org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)
at 
 org.eclipse.jetty.server.BlockingHttpConnection.handle(BlockingHttpConnection.java:66)
at 
 org.eclipse.jetty.server.bio.SocketConnector$ConnectorEndPoint.run(SocketConnector.java:254)
at 
 org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:599)
at 
 org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:534)
at java.lang.Thread.run(Thread.java:662)
 I've noticed this happening after doing deletes.  When I've seen this issue 
 before an optimize has made the issue go away.  I believe this may also be 
 related to the describe here:
 http://stackoverflow.com/questions/10124055/solr-faceted-search-throws-nullpointerexception-with-http-500-status
 I have been unable to reproduce this in a test but this has come up at least 
 3 times in our environments.

--
This message is automatically generated by JIRA.
If you think it was sent 

[jira] [Commented] (LUCENE-2510) migrate solr analysis factories to analyzers module

2012-05-01 Thread Chris Male (JIRA)

[ 
https://issues.apache.org/jira/browse/LUCENE-2510?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13266280#comment-13266280
 ] 

Chris Male commented on LUCENE-2510:


Actually I think I've been a little naive with backwards compatibility here.  I 
think I need to ensure that any user created Factory implementations continue 
to work and existing schemas continue to load.  Otherwise upgrading to Solr 4 
is going to be an epic hassle.

 migrate solr analysis factories to analyzers module
 ---

 Key: LUCENE-2510
 URL: https://issues.apache.org/jira/browse/LUCENE-2510
 Project: Lucene - Java
  Issue Type: Task
  Components: modules/analysis
Affects Versions: 4.0
Reporter: Robert Muir
 Fix For: 4.0

 Attachments: LUCENE-2510-parent-classes.patch, LUCENE-2510.patch, 
 LUCENE-2510.patch, LUCENE-2510.patch


 In LUCENE-2413 all TokenStreams were consolidated into the analyzers module.
 This is a good step, but I think the next step is to put the Solr factories 
 into the analyzers module, too.
 This would make analyzers artifacts plugins to both lucene and solr, with 
 benefits such as:
 * users could use the old analyzers module with solr, too. This is a good 
 step to use real library versions instead of Version for backwards compat.
 * analyzers modules such as smartcn and icu, that aren't currently available 
 to solr users due to large file sizes or dependencies, would be simple 
 optional plugins to solr and easily available to users that want them.
 Rough sketch in this thread: 
 http://www.lucidimagination.com/search/document/3465a0e55ba94d58/solr_and_analyzers_module
 Practically, I havent looked much and don't really have a plan for how this 
 will work yet, so ideas are very welcome.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira



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



[jira] [Updated] (LUCENE-2510) migrate solr analysis factories to analyzers module

2012-05-01 Thread Chris Male (JIRA)

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

Chris Male updated LUCENE-2510:
---

Attachment: LUCENE-2510-resourceloader-bw.patch

Patch which does some backwards compat work for ResourceLoader/Aware.  

Deprecated versions of both are added in their old locations and they extend 
from those in the new locations.  {{SolrResourceLoader}} implements the 
deprecated ResourceLoader so it can continue to be used with Factories 
expecting the old ResourceLoader.  It also includes a check for plugins using 
the old ResourceLoaderAware and logs a warning recommending that they are 
upgraded.

 migrate solr analysis factories to analyzers module
 ---

 Key: LUCENE-2510
 URL: https://issues.apache.org/jira/browse/LUCENE-2510
 Project: Lucene - Java
  Issue Type: Task
  Components: modules/analysis
Affects Versions: 4.0
Reporter: Robert Muir
 Fix For: 4.0

 Attachments: LUCENE-2510-parent-classes.patch, 
 LUCENE-2510-resourceloader-bw.patch, LUCENE-2510.patch, LUCENE-2510.patch, 
 LUCENE-2510.patch


 In LUCENE-2413 all TokenStreams were consolidated into the analyzers module.
 This is a good step, but I think the next step is to put the Solr factories 
 into the analyzers module, too.
 This would make analyzers artifacts plugins to both lucene and solr, with 
 benefits such as:
 * users could use the old analyzers module with solr, too. This is a good 
 step to use real library versions instead of Version for backwards compat.
 * analyzers modules such as smartcn and icu, that aren't currently available 
 to solr users due to large file sizes or dependencies, would be simple 
 optional plugins to solr and easily available to users that want them.
 Rough sketch in this thread: 
 http://www.lucidimagination.com/search/document/3465a0e55ba94d58/solr_and_analyzers_module
 Practically, I havent looked much and don't really have a plan for how this 
 will work yet, so ideas are very welcome.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira



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



[JENKINS] Lucene-trunk - Build # 1917 - Failure

2012-05-01 Thread Apache Jenkins Server
Build: https://builds.apache.org/job/Lucene-trunk/1917/

1 tests failed.
REGRESSION:  org.apache.lucene.index.TestNorms.testNormsNotPresent

Error Message:
Java heap space

Stack Trace:
java.lang.OutOfMemoryError: Java heap space
at 
__randomizedtesting.SeedInfo.seed([DD43C1EE3741DA4F:EB6A38A1F62C0B06]:0)
at org.apache.lucene.util.ArrayUtil.grow(ArrayUtil.java:338)
at org.apache.lucene.util.fst.FST$BytesWriter.setPosWrite(FST.java:1213)
at org.apache.lucene.util.fst.FST.pack(FST.java:1701)
at 
org.apache.lucene.codecs.memory.MemoryPostingsFormat$TermsWriter.finish(MemoryPostingsFormat.java:270)
at org.apache.lucene.codecs.TermsConsumer.merge(TermsConsumer.java:207)
at org.apache.lucene.codecs.FieldsConsumer.merge(FieldsConsumer.java:65)
at 
org.apache.lucene.index.SegmentMerger.mergeTerms(SegmentMerger.java:356)
at org.apache.lucene.index.SegmentMerger.merge(SegmentMerger.java:115)
at 
org.apache.lucene.index.IndexWriter.mergeMiddle(IndexWriter.java:3382)
at org.apache.lucene.index.IndexWriter.merge(IndexWriter.java:3004)
at 
org.apache.lucene.index.SerialMergeScheduler.merge(SerialMergeScheduler.java:37)
at org.apache.lucene.index.IndexWriter.maybeMerge(IndexWriter.java:1644)
at org.apache.lucene.index.IndexWriter.maybeMerge(IndexWriter.java:1638)
at 
org.apache.lucene.index.IndexWriter.prepareCommit(IndexWriter.java:2465)
at 
org.apache.lucene.index.IndexWriter.commitInternal(IndexWriter.java:2548)
at org.apache.lucene.index.IndexWriter.commit(IndexWriter.java:2530)
at org.apache.lucene.index.IndexWriter.commit(IndexWriter.java:2514)
at 
org.apache.lucene.index.RandomIndexWriter.commit(RandomIndexWriter.java:324)
at org.apache.lucene.index.TestNorms.buildIndex(TestNorms.java:195)
at 
org.apache.lucene.index.TestNorms.testNormsNotPresent(TestNorms.java:124)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at 
com.carrotsearch.randomizedtesting.RandomizedRunner.invoke(RandomizedRunner.java:1913)
at 
com.carrotsearch.randomizedtesting.RandomizedRunner.access$1100(RandomizedRunner.java:131)
at 
com.carrotsearch.randomizedtesting.RandomizedRunner$6.evaluate(RandomizedRunner.java:805)
at 
com.carrotsearch.randomizedtesting.RandomizedRunner$7.evaluate(RandomizedRunner.java:866)
at 
com.carrotsearch.randomizedtesting.RandomizedRunner$8.evaluate(RandomizedRunner.java:880)
at 
org.apache.lucene.util.LuceneTestCase$SubclassSetupTeardownRule$1.evaluate(LuceneTestCase.java:770)
at 
org.apache.lucene.util.LuceneTestCase$InternalSetupTeardownRule$1.evaluate(LuceneTestCase.java:692)
at 
org.apache.lucene.util.SystemPropertiesInvariantRule$1.evaluate(SystemPropertiesInvariantRule.java:69)




Build Log (for compile errors):
[...truncated 18389 lines...]



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

[jira] [Updated] (LUCENE-3973) Incorporate PMD / FindBugs

2012-05-01 Thread Chris Male (JIRA)

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

Chris Male updated LUCENE-3973:
---

Attachment: LUCENE-3973.patch

Updated patch which includes:

- Moved listing of the rules to their own ruleset file, which will allow us to 
customize them more and so I don't have to keep making changes to 
common-build.xml
- Added full support for solr and top-level.

 Incorporate PMD / FindBugs
 --

 Key: LUCENE-3973
 URL: https://issues.apache.org/jira/browse/LUCENE-3973
 Project: Lucene - Java
  Issue Type: Improvement
  Components: general/build
Reporter: Chris Male
 Attachments: LUCENE-3973.patch, LUCENE-3973.patch, LUCENE-3973.patch, 
 LUCENE-3973.patch, LUCENE-3973.patch, core.html, solr-core.html


 This has been touched on a few times over the years.  Having static analysis 
 as part of our build seems like a big win.  For example, we could use PMD to 
 look at {{System.out.println}} statements like discussed in LUCENE-3877 and 
 we could possibly incorporate the nocommit / @author checks as well.
 There are a few things to work out as part of this:
 - Should we use both PMD and FindBugs or just one of them? They look at code 
 from different perspectives (bytecode vs source code) and target different 
 issues.  At the moment I'm in favour of trying both but that might be too 
 heavy handed for our needs.
 - What checks should we use? There's no point having the analysis if it's 
 going to raise too many false-positives or problems we don't deem 
 problematic.  
 - How should the analysis be integrated in our build? Need to work out when 
 the analysis should run, how it should be incorporated in Ant and/or Maven, 
 what impact errors should have.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira



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



[jira] [Updated] (SOLR-3424) PhoneticFilterFactory threadsafety bug

2012-05-01 Thread David Smiley (JIRA)

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

David Smiley updated SOLR-3424:
---

Attachment: SOLR-3424_PhoneticFilterFactory_threadsafety_bug.patch

My new patch creates  initializes the encoder per call to create(). The 
testSpeed() tests seem about the same. I also added a test for the maxCodeLen 
arg, and i documented it too.

 PhoneticFilterFactory threadsafety bug
 --

 Key: SOLR-3424
 URL: https://issues.apache.org/jira/browse/SOLR-3424
 Project: Solr
  Issue Type: Bug
  Components: Schema and Analysis
Affects Versions: 3.6, 4.0
Reporter: David Smiley
Assignee: David Smiley
Priority: Minor
 Fix For: 4.0

 Attachments: SOLR-3424_PhoneticFilterFactory_threadsafety_bug.patch, 
 SOLR-3424_PhoneticFilterFactory_threadsafety_bug.patch, 
 SOLR-3424_PhoneticFilterFactory_threadsafety_bug.patch, 
 SOLR-3424_PhoneticFilterFactory_threadsafety_bug.patch, 
 SOLR-3424_PhoneticFilterFactory_threadsafety_bug.patch


 PhoneticFilterFactory has a static HashMap registry mapping an encoder name 
 to an implementation. There is a ReentrantLock used when the map is modified 
 (when the encoder config specifies a class name).  However, this map, which 
 can be accessed by multiple indexing threads, isn't guarded on any of the 
 reads, which isn't just the common path but also the error messages which 
 dump the registry into the error message.
 I realize the likelihood of a problem is extremely slim, but a bug's a bug.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira



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