[jira] [Commented] (LUCENE-6225) Clarify documentation of clone() in IndexInput

2015-07-20 Thread ASF subversion and git services (JIRA)

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

ASF subversion and git services commented on LUCENE-6225:
-

Commit 1691888 from [~dawidweiss] in branch 'dev/branches/branch_5x'
[ https://svn.apache.org/r1691888 ]

LUCENE-6225: Clarify documentation of clone/close in IndexInput.

 Clarify documentation of clone() in IndexInput
 --

 Key: LUCENE-6225
 URL: https://issues.apache.org/jira/browse/LUCENE-6225
 Project: Lucene - Core
  Issue Type: Improvement
Reporter: Dawid Weiss
Assignee: Dawid Weiss
Priority: Minor
 Fix For: Trunk

 Attachments: LUCENE-6225.patch


 Here is a snippet from IndexInput's documentation:
 {code}
 The original instance must take care that cloned instances throw 
 AlreadyClosedException when the original one is closed.
 {code}
 But concrete implementations don't throw this AlreadyClosedException (this 
 would break the contract on Closeable). For example, see NIOFSDirectory:
 {code}
 public void close() throws IOException {
   if (!isClone) {
 channel.close();
   }
 }
 {code}
 What trapped me was that the abstract class IndexInput overrides the default 
 implementation of clone(), but doesn't do anything useful... I guess you 
 could make it final and provide the tracking for cloned instances in this 
 class rather than reimplementing it everywhere else (isCloned() would be a 
 superclass method then too). Thoughts?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

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



[jira] [Commented] (LUCENE-6225) Clarify documentation of clone() in IndexInput

2015-07-20 Thread ASF subversion and git services (JIRA)

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

ASF subversion and git services commented on LUCENE-6225:
-

Commit 1691892 from [~dawidweiss] in branch 'dev/trunk'
[ https://svn.apache.org/r1691892 ]

LUCENE-6225: Clarify documentation of clone/close in IndexInput.

 Clarify documentation of clone() in IndexInput
 --

 Key: LUCENE-6225
 URL: https://issues.apache.org/jira/browse/LUCENE-6225
 Project: Lucene - Core
  Issue Type: Improvement
Reporter: Dawid Weiss
Assignee: Dawid Weiss
Priority: Minor
 Fix For: 5.3, Trunk

 Attachments: LUCENE-6225.patch


 Here is a snippet from IndexInput's documentation:
 {code}
 The original instance must take care that cloned instances throw 
 AlreadyClosedException when the original one is closed.
 {code}
 But concrete implementations don't throw this AlreadyClosedException (this 
 would break the contract on Closeable). For example, see NIOFSDirectory:
 {code}
 public void close() throws IOException {
   if (!isClone) {
 channel.close();
   }
 }
 {code}
 What trapped me was that the abstract class IndexInput overrides the default 
 implementation of clone(), but doesn't do anything useful... I guess you 
 could make it final and provide the tracking for cloned instances in this 
 class rather than reimplementing it everywhere else (isCloned() would be a 
 superclass method then too). Thoughts?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

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



[jira] [Commented] (LUCENE-6225) Clarify documentation of clone() in IndexInput

2015-07-17 Thread Dawid Weiss (JIRA)

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

Dawid Weiss commented on LUCENE-6225:
-

Uwe, this comment is effectively dead, isn't it? I mean -- looking at 
{{NIOFSIndexInput}} for example, its {{isClone}} field is never used. So it's 
very likely that this contract is violated?

 Clarify documentation of clone() in IndexInput
 --

 Key: LUCENE-6225
 URL: https://issues.apache.org/jira/browse/LUCENE-6225
 Project: Lucene - Core
  Issue Type: Improvement
Reporter: Dawid Weiss
Assignee: Dawid Weiss
Priority: Minor
 Fix For: Trunk

 Attachments: LUCENE-6225.patch


 Here is a snippet from IndexInput's documentation:
 {code}
 The original instance must take care that cloned instances throw 
 AlreadyClosedException when the original one is closed.
 {code}
 But concrete implementations don't throw this AlreadyClosedException (this 
 would break the contract on Closeable). For example, see NIOFSDirectory:
 {code}
 public void close() throws IOException {
   if (!isClone) {
 channel.close();
   }
 }
 {code}
 What trapped me was that the abstract class IndexInput overrides the default 
 implementation of clone(), but doesn't do anything useful... I guess you 
 could make it final and provide the tracking for cloned instances in this 
 class rather than reimplementing it everywhere else (isCloned() would be a 
 superclass method then too). Thoughts?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

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



[jira] [Commented] (LUCENE-6225) Clarify documentation of clone() in IndexInput

2015-07-17 Thread Dawid Weiss (JIRA)

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

Dawid Weiss commented on LUCENE-6225:
-

Oh, ok. Nevermind, the original source would throw ACE.

 Clarify documentation of clone() in IndexInput
 --

 Key: LUCENE-6225
 URL: https://issues.apache.org/jira/browse/LUCENE-6225
 Project: Lucene - Core
  Issue Type: Improvement
Reporter: Dawid Weiss
Assignee: Dawid Weiss
Priority: Minor
 Fix For: Trunk

 Attachments: LUCENE-6225.patch


 Here is a snippet from IndexInput's documentation:
 {code}
 The original instance must take care that cloned instances throw 
 AlreadyClosedException when the original one is closed.
 {code}
 But concrete implementations don't throw this AlreadyClosedException (this 
 would break the contract on Closeable). For example, see NIOFSDirectory:
 {code}
 public void close() throws IOException {
   if (!isClone) {
 channel.close();
   }
 }
 {code}
 What trapped me was that the abstract class IndexInput overrides the default 
 implementation of clone(), but doesn't do anything useful... I guess you 
 could make it final and provide the tracking for cloned instances in this 
 class rather than reimplementing it everywhere else (isCloned() would be a 
 superclass method then too). Thoughts?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

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



[jira] [Commented] (LUCENE-6225) Clarify documentation of clone() in IndexInput

2015-02-09 Thread Uwe Schindler (JIRA)

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

Uwe Schindler commented on LUCENE-6225:
---

According to java.io.Closeable docs, closing should not throw exceptions 
because multiple closes are allowed (so if it implicitely closed by root 
object, an additional call to clone's close should not fail).

The comment means: If you access the cloned IndexInput after closing the 
original the readXXX methods will throw AlreadyClosedException. For clones. 
the close() method is a noop, that is intended.

 Clarify documentation of clone() in IndexInput
 --

 Key: LUCENE-6225
 URL: https://issues.apache.org/jira/browse/LUCENE-6225
 Project: Lucene - Core
  Issue Type: Improvement
Reporter: Dawid Weiss
Assignee: Dawid Weiss
Priority: Minor
 Fix For: Trunk


 Here is a snippet from IndexInput's documentation:
 {code}
 The original instance must take care that cloned instances throw 
 AlreadyClosedException when the original one is closed.
 {code}
 But concrete implementations don't throw this AlreadyClosedException (this 
 would break the contract on Closeable). For example, see NIOFSDirectory:
 {code}
 public void close() throws IOException {
   if (!isClone) {
 channel.close();
   }
 }
 {code}
 What trapped me was that the abstract class IndexInput overrides the default 
 implementation of clone(), but doesn't do anything useful... I guess you 
 could make it final and provide the tracking for cloned instances in this 
 class rather than reimplementing it everywhere else (isCloned() would be a 
 superclass method then too). Thoughts?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

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



[jira] [Commented] (LUCENE-6225) Clarify documentation of clone() in IndexInput

2015-02-09 Thread Dawid Weiss (JIRA)

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

Dawid Weiss commented on LUCENE-6225:
-

I think the comment should read exactly what your explanation of the comment 
was, it'd be clearer then... :)

 Clarify documentation of clone() in IndexInput
 --

 Key: LUCENE-6225
 URL: https://issues.apache.org/jira/browse/LUCENE-6225
 Project: Lucene - Core
  Issue Type: Improvement
Reporter: Dawid Weiss
Assignee: Dawid Weiss
Priority: Minor
 Fix For: Trunk


 Here is a snippet from IndexInput's documentation:
 {code}
 The original instance must take care that cloned instances throw 
 AlreadyClosedException when the original one is closed.
 {code}
 But concrete implementations don't throw this AlreadyClosedException (this 
 would break the contract on Closeable). For example, see NIOFSDirectory:
 {code}
 public void close() throws IOException {
   if (!isClone) {
 channel.close();
   }
 }
 {code}
 What trapped me was that the abstract class IndexInput overrides the default 
 implementation of clone(), but doesn't do anything useful... I guess you 
 could make it final and provide the tracking for cloned instances in this 
 class rather than reimplementing it everywhere else (isCloned() would be a 
 superclass method then too). Thoughts?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

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