jeme commented on issue #763:
URL: https://github.com/apache/lucenenet/issues/763#issuecomment-1323361243

   > I am not sure I totally understand the difference between **OPTION-A** and 
**OPTION-B**. Partial classes are a compiler feature that makes it easier to 
organize code, but at the end of the day they get compiled into 1 class. Both 
partial classes have access to all of the private state of the class.
   
   **OPTION-A** is something that the team does not have to get involved with 
directly, it can be a 3rd party contribution that lives elsewhere, the team 
COULD open up a few things to make it a bit easier to copy and extend the 
Directory and Input/Output classes, e.g. exposing internally used helper 
methods.
   
   But I think the confusion here is how far up the stack this goes, I am only 
focusing on the replication scenarios and similar scenarios that works on that 
level. As I said and tried to re-iterate is that I don't think we can get 
problems in an attempt to go all the way up to 
`IndexWriter.UpdateDocumentAsync(...)` - This also sets the two options very 
much apart because if we were even to Attempt to go that far, that had to be 
done within the Lucene Source, where for replication purposes etc. We don't 
need to go that far up the stack, and because of that, this can be done as a 
custom implementation.
   
   A dirty POC of **OPTION-A** can be seen here: 
https://github.com/jeme/LuceneAsyncInputsPoc/tree/main/src/LuceneAsyncInputsPoc/LuceneAsyncInputsPoc/CustomDirectory
   
   
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@lucenenet.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to