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