[ 
https://issues.apache.org/jira/browse/LUCENE-5644?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16047842#comment-16047842
 ] 

ASF GitHub Bot commented on LUCENE-5644:
----------------------------------------

Github user NightOwl888 commented on the issue:

    https://github.com/apache/lucenenet/pull/208
  
    > Second, assuming we have no threading issues at the moment, how can we be 
sure this doesn't introduce any? cc @NightOwl888
    
    @synhershko 
    
    First of all, we still have some threading issues. The 
[Lucene.Net.Store.TestLockFactory.TestStressLocksNativeFSLockFactory 
test](https://teamcity.jetbrains.com/viewLog.html?buildId=1084071&tab=buildResultsDiv&buildTypeId=LuceneNet_PortableBuilds_TestOnNet451)
 and [Lucene.Net.Store.TestLockFactory.TestStressLocks 
test](https://teamcity.jetbrains.com/viewLog.html?buildId=1071425&tab=buildResultsDiv&buildTypeId=LuceneNet_PortableBuilds_TestOnNet451)
 still fail randomly, and there may be others (last I checked there were 2 
tests that failed *only* when the MMapDirectory was randomly selected).
    
    Secondly, this change is part of the Lucene 4.8.1 patch. Much of this port 
(including most or all of Analysis.Common) is from 4.8.1 already, so we should 
probably try to include the rest of the fixes to get us all the way to 4.8.1, 
especially if they have performance benefits.
    
    @vvdb 
    
    If we are going to work toward 4.8.1 on a gradual basis, we should probably 
include a comment at the top of each changed file indicating the version 
compatibility level so we don't have to check the entire file to see if it is 
up to speed.
    
    ```
    // Version compatibility level: 4.8.1
    ``` 
    
    As for getting all the way there, I have outlined a procedure 
[here](https://github.com/apache/lucenenet/pull/174#issuecomment-251614795) for 
upgrading Lucene.Net to 4.8.1, which should be a lot quicker and easier than 
porting it from scratch again. Of course, it requires you to have a text 
comparison tool that allows you to filter out "unimportant changes" such as 
Beyond Compare. This will ensure we get all of the changes between the old file 
and new file and port them into the .NET file.
    
    It would be better to have a tool that allows you to ignore simple code 
formatting changes (such as changing the curly bracket from the same line to 
the following line of a function or if statement), but to my knowledge a tool 
like that doesn't exist.


> ThreadAffinityDocumentsWriterThreadPool should clear the bindings on flush
> --------------------------------------------------------------------------
>
>                 Key: LUCENE-5644
>                 URL: https://issues.apache.org/jira/browse/LUCENE-5644
>             Project: Lucene - Core
>          Issue Type: Bug
>          Components: core/index
>            Reporter: Michael McCandless
>            Assignee: Michael McCandless
>             Fix For: 4.8.1, 4.9, 6.0
>
>         Attachments: LUCENE-5644.patch, LUCENE-5644.patch, LUCENE-5644.patch, 
> LUCENE-5644.patch, LUCENE-5644.patch
>
>
> This class remembers which thread used which DWPT, but it never clears
> this "affinity".  It really should clear it on flush, this way if the
> number of threads doing indexing has changed we only use as many DWPTs
> as there are incoming threads.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to