[jira] [Commented] (BOOKKEEPER-331) Let hedwig support returning message seq id for publish requests.

2012-07-30 Thread Hudson (JIRA)

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

Hudson commented on BOOKKEEPER-331:
---

Integrated in bookkeeper-trunk #626 (See 
[https://builds.apache.org/job/bookkeeper-trunk/626/])
BOOKKEEPER-331: Let hedwig support returning message seq id for publish 
requests. (Mridul via sijie) (Revision 1367117)

 Result = UNSTABLE
sijie : 
Files : 
* /zookeeper/bookkeeper/trunk/CHANGES.txt
* 
/zookeeper/bookkeeper/trunk/hedwig-client/src/main/java/org/apache/hedwig/client/api/Publisher.java
* 
/zookeeper/bookkeeper/trunk/hedwig-client/src/main/java/org/apache/hedwig/client/data/PubSubData.java
* 
/zookeeper/bookkeeper/trunk/hedwig-client/src/main/java/org/apache/hedwig/client/handlers/PubSubCallback.java
* 
/zookeeper/bookkeeper/trunk/hedwig-client/src/main/java/org/apache/hedwig/client/handlers/PublishResponseHandler.java
* 
/zookeeper/bookkeeper/trunk/hedwig-client/src/main/java/org/apache/hedwig/client/handlers/SubscribeReconnectCallback.java
* 
/zookeeper/bookkeeper/trunk/hedwig-client/src/main/java/org/apache/hedwig/client/handlers/SubscribeResponseHandler.java
* 
/zookeeper/bookkeeper/trunk/hedwig-client/src/main/java/org/apache/hedwig/client/handlers/UnsubscribeResponseHandler.java
* 
/zookeeper/bookkeeper/trunk/hedwig-client/src/main/java/org/apache/hedwig/client/netty/ConnectCallback.java
* 
/zookeeper/bookkeeper/trunk/hedwig-client/src/main/java/org/apache/hedwig/client/netty/HedwigClientImpl.java
* 
/zookeeper/bookkeeper/trunk/hedwig-client/src/main/java/org/apache/hedwig/client/netty/HedwigPublisher.java
* 
/zookeeper/bookkeeper/trunk/hedwig-client/src/main/java/org/apache/hedwig/client/netty/HedwigSubscriber.java
* 
/zookeeper/bookkeeper/trunk/hedwig-client/src/main/java/org/apache/hedwig/client/netty/ResponseHandler.java
* 
/zookeeper/bookkeeper/trunk/hedwig-client/src/main/java/org/apache/hedwig/client/netty/VoidCallbackAdapter.java
* 
/zookeeper/bookkeeper/trunk/hedwig-client/src/main/java/org/apache/hedwig/client/netty/WriteCallback.java
* 
/zookeeper/bookkeeper/trunk/hedwig-protocol/src/main/java/org/apache/hedwig/protocol/PubSubProtocol.java
* 
/zookeeper/bookkeeper/trunk/hedwig-protocol/src/main/java/org/apache/hedwig/protoextensions/PubSubResponseUtils.java
* 
/zookeeper/bookkeeper/trunk/hedwig-protocol/src/main/protobuf/PubSubProtocol.proto
* 
/zookeeper/bookkeeper/trunk/hedwig-server/src/main/java/org/apache/hedwig/server/handlers/PublishHandler.java
* 
/zookeeper/bookkeeper/trunk/hedwig-server/src/main/java/org/apache/hedwig/server/persistence/BookkeeperPersistenceManager.java
* 
/zookeeper/bookkeeper/trunk/hedwig-server/src/main/java/org/apache/hedwig/server/persistence/LocalDBPersistenceManager.java
* 
/zookeeper/bookkeeper/trunk/hedwig-server/src/main/java/org/apache/hedwig/server/persistence/PersistRequest.java
* 
/zookeeper/bookkeeper/trunk/hedwig-server/src/main/java/org/apache/hedwig/server/persistence/ReadAheadCache.java
* 
/zookeeper/bookkeeper/trunk/hedwig-server/src/main/java/org/apache/hedwig/server/regions/RegionManager.java
* 
/zookeeper/bookkeeper/trunk/hedwig-server/src/test/java/org/apache/hedwig/client/TestPubSubClient.java
* 
/zookeeper/bookkeeper/trunk/hedwig-server/src/test/java/org/apache/hedwig/server/persistence/StubPersistenceManager.java
* 
/zookeeper/bookkeeper/trunk/hedwig-server/src/test/java/org/apache/hedwig/server/persistence/TestBookKeeperPersistenceManager.java
* 
/zookeeper/bookkeeper/trunk/hedwig-server/src/test/java/org/apache/hedwig/server/persistence/TestBookkeeperPersistenceManagerWhiteBox.java
* 
/zookeeper/bookkeeper/trunk/hedwig-server/src/test/java/org/apache/hedwig/server/persistence/TestPersistenceManagerBlackBox.java
* 
/zookeeper/bookkeeper/trunk/hedwig-server/src/test/java/org/apache/hedwig/server/persistence/TestReadAheadCacheWhiteBox.java


> Let hedwig support returning message seq id for publish requests.
> -
>
> Key: BOOKKEEPER-331
> URL: https://issues.apache.org/jira/browse/BOOKKEEPER-331
> Project: Bookkeeper
>  Issue Type: Sub-task
>  Components: hedwig-client, hedwig-server
>Reporter: Sijie Guo
>Assignee: Mridul Muralidharan
> Fix For: 4.2.0
>
>
> Let hedwig support returning message seq id for published messages.

--
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] [Updated] (BOOKKEEPER-339) Let hedwig cpp client support returning message seq id for publish requests.

2012-07-30 Thread Sijie Guo (JIRA)

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

Sijie Guo updated BOOKKEEPER-339:
-

Attachment: BOOKKEEPER-339.diff

attach a patch to support returning message seq id for publish requests in cpp 
client.

the fix is similar as what it did in BOOKKEEPER-331.

> Let hedwig cpp client support returning message seq id for publish requests.
> 
>
> Key: BOOKKEEPER-339
> URL: https://issues.apache.org/jira/browse/BOOKKEEPER-339
> Project: Bookkeeper
>  Issue Type: Improvement
>  Components: hedwig-client
>Reporter: Sijie Guo
> Fix For: 4.2.0
>
> Attachments: BOOKKEEPER-339.diff
>
>
> let hedwig cpp client support returning message seq id for publish requests. 
> as what we did for BOOKKEEPER-331.

--
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] [Updated] (BOOKKEEPER-78) filterable metadata fields in Hedwig's message definition

2012-07-30 Thread Sijie Guo (JIRA)

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

Sijie Guo updated BOOKKEEPER-78:


Attachment: BOOKKEEPER-78.patch_v2

attach a new patch rebased to latest trunk after BOOKKEEPER-331 was in.

> filterable metadata fields in Hedwig's message definition
> -
>
> Key: BOOKKEEPER-78
> URL: https://issues.apache.org/jira/browse/BOOKKEEPER-78
> Project: Bookkeeper
>  Issue Type: New Feature
>  Components: hedwig-client, hedwig-server
>Reporter: Matthieu Morel
>Assignee: Sijie Guo
> Fix For: 4.2.0
>
> Attachments: BOOKKEEPER-78.patch, BOOKKEEPER-78.patch_v2
>
>
> In order to efficiently implement filtering of Hedwig messages, Hedwig should 
> be able to rely on metadata information. (i.e. without needing to deserialize 
> the content of the message)
> Filtering could use a subset of SQL (like in the JMS spec), leading to 
> queries such as : 
> "header1 like 'a' AND header2 IS NOT NULL" 
> For that purpose, I propose to add customizable metadata to the definition of 
> Hedwig messages, as header fields.
> Metadata must be customizable because it may be arbitrary. We should provide 
> "map-like" containers according to the type of the metadata field. Metadata 
> fields would be accessed by name.
> There are predefined headers for JMS that could be added as metadata fields 
> such as : destination (~topic), delivery mode (persistent or not), 
> expiration, priority, timestamp, correlation id (link to other message), 
> reply to, type and redelivered. I think only a subset of these should be 
> predefined headers, if any.
> Adding metadata fields to Hedwig messages implies modifying the message 
> definition, which does not break backward compatibility when those fields are 
> added as optional in the protocol buffer definition.
>  

--
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] (BOOKKEEPER-331) Let hedwig support returning message seq id for publish requests.

2012-07-30 Thread Sijie Guo (JIRA)

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

Sijie Guo resolved BOOKKEEPER-331.
--

Resolution: Fixed
  Assignee: Mridul Muralidharan

since BOOKKEEPER-309, BOOKKEEPER-310, BOOKKEEPER-311 have been committed, 
marked this jira as fixed. committed revision is r1367117.

thanks Mridul for great work.

> Let hedwig support returning message seq id for publish requests.
> -
>
> Key: BOOKKEEPER-331
> URL: https://issues.apache.org/jira/browse/BOOKKEEPER-331
> Project: Bookkeeper
>  Issue Type: Sub-task
>  Components: hedwig-client, hedwig-server
>Reporter: Sijie Guo
>Assignee: Mridul Muralidharan
> Fix For: 4.2.0
>
>
> Let hedwig support returning message seq id for published messages.

--
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] [Commented] (BOOKKEEPER-311) Changes in hedwig client api to support JMS spec

2012-07-30 Thread Sijie Guo (JIRA)

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

Sijie Guo commented on BOOKKEEPER-311:
--

{quote}
IMO, we have to be very strict towards the conventions for the long term 
maintenance(neatly) of the code. Otherwise, code will become too ugly with the 
different conventions placed.
{quote}

agreed. +1.

{quote}
Recently, Hbase also revisited for this point and made their convention to 
100+, I remember.
{quote}

yes. 100 is a better wide to control the format, because we had lots of 
callbacks written in both BOOKKEEPER and Hedwig.

> Changes in hedwig client api to support JMS spec
> 
>
> Key: BOOKKEEPER-311
> URL: https://issues.apache.org/jira/browse/BOOKKEEPER-311
> Project: Bookkeeper
>  Issue Type: Sub-task
>Reporter: Mridul Muralidharan
>Assignee: Mridul Muralidharan
> Attachments: hedwig-client-consume.patch.1, 
> hedwig-client-publish.patch.1, hedwig-client.patch, hedwig-client.patch.3, 
> hedwig-client.patch.4, hedwig-client.patch.5
>
>
> Primary changes are :
> a) Add support for returning seq-id for a publish request. This is an api 
> change (backwardly compatible for users).
> b) Make consume a sync consume, with addition of an asyncConsume - this is to 
> ensure that invoking consume() ensure request makes to server before 
> returning (with what reasonable gaurantees that netty allows).
> c) Ensure that explicit close'ing of session will flush buffered consume 
> seq-id's when auto-ack is enabled (default in hedwig java client).
> In addition, there are also fixes for
> d) Fix NPE's observed as part of testing JMS provider.

--
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] [Commented] (BOOKKEEPER-311) Changes in hedwig client api to support JMS spec

2012-07-30 Thread Mridul Muralidharan (JIRA)

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

Mridul Muralidharan commented on BOOKKEEPER-311:



Could be added as pre-commit hook to validate coding conventions and reject if 
it violates it for java/cpp files ...
Ditto for number of warnings, etc.

> Changes in hedwig client api to support JMS spec
> 
>
> Key: BOOKKEEPER-311
> URL: https://issues.apache.org/jira/browse/BOOKKEEPER-311
> Project: Bookkeeper
>  Issue Type: Sub-task
>Reporter: Mridul Muralidharan
>Assignee: Mridul Muralidharan
> Attachments: hedwig-client-consume.patch.1, 
> hedwig-client-publish.patch.1, hedwig-client.patch, hedwig-client.patch.3, 
> hedwig-client.patch.4, hedwig-client.patch.5
>
>
> Primary changes are :
> a) Add support for returning seq-id for a publish request. This is an api 
> change (backwardly compatible for users).
> b) Make consume a sync consume, with addition of an asyncConsume - this is to 
> ensure that invoking consume() ensure request makes to server before 
> returning (with what reasonable gaurantees that netty allows).
> c) Ensure that explicit close'ing of session will flush buffered consume 
> seq-id's when auto-ack is enabled (default in hedwig java client).
> In addition, there are also fixes for
> d) Fix NPE's observed as part of testing JMS provider.

--
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] [Commented] (BOOKKEEPER-311) Changes in hedwig client api to support JMS spec

2012-07-30 Thread Uma Maheswara Rao G (JIRA)

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

Uma Maheswara Rao G commented on BOOKKEEPER-311:


Yes, 80 characters per line will be small in some cases and code may looks ugly 
if we wrap it to 2 lines. Recently, Hbase also revisited for this point and 
made their convention to 100+, I remember.
May be, we can have that discussion in the mailing list?

{quote}
 is that we have been just loosely following the code conventions we have set 
for the project, mainly because they are too strict.
{quote}
I am not sure, anyone is violating these conventions. IMO, we have to be very 
strict towards the conventions for the long term maintenance(neatly) of the 
code. Otherwise, code will become too ugly with the different conventions 
placed.

> Changes in hedwig client api to support JMS spec
> 
>
> Key: BOOKKEEPER-311
> URL: https://issues.apache.org/jira/browse/BOOKKEEPER-311
> Project: Bookkeeper
>  Issue Type: Sub-task
>Reporter: Mridul Muralidharan
>Assignee: Mridul Muralidharan
> Attachments: hedwig-client-consume.patch.1, 
> hedwig-client-publish.patch.1, hedwig-client.patch, hedwig-client.patch.3, 
> hedwig-client.patch.4, hedwig-client.patch.5
>
>
> Primary changes are :
> a) Add support for returning seq-id for a publish request. This is an api 
> change (backwardly compatible for users).
> b) Make consume a sync consume, with addition of an asyncConsume - this is to 
> ensure that invoking consume() ensure request makes to server before 
> returning (with what reasonable gaurantees that netty allows).
> c) Ensure that explicit close'ing of session will flush buffered consume 
> seq-id's when auto-ack is enabled (default in hedwig java client).
> In addition, there are also fixes for
> d) Fix NPE's observed as part of testing JMS provider.

--
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] [Commented] (BOOKKEEPER-311) Changes in hedwig client api to support JMS spec

2012-07-30 Thread Flavio Junqueira (JIRA)

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

Flavio Junqueira commented on BOOKKEEPER-311:
-

One issue, unrelated to this patch, is that we have been just loosely following 
the code conventions we have set for the project, mainly because they are too 
strict. It might be a good idea to revisit code conventions and have it in such 
a way that it makes sense to enforce. I personally don't feel like enforcing 
80-character lines. 

For this patch, it is ok with me to have it in.

> Changes in hedwig client api to support JMS spec
> 
>
> Key: BOOKKEEPER-311
> URL: https://issues.apache.org/jira/browse/BOOKKEEPER-311
> Project: Bookkeeper
>  Issue Type: Sub-task
>Reporter: Mridul Muralidharan
>Assignee: Mridul Muralidharan
> Attachments: hedwig-client-consume.patch.1, 
> hedwig-client-publish.patch.1, hedwig-client.patch, hedwig-client.patch.3, 
> hedwig-client.patch.4, hedwig-client.patch.5
>
>
> Primary changes are :
> a) Add support for returning seq-id for a publish request. This is an api 
> change (backwardly compatible for users).
> b) Make consume a sync consume, with addition of an asyncConsume - this is to 
> ensure that invoking consume() ensure request makes to server before 
> returning (with what reasonable gaurantees that netty allows).
> c) Ensure that explicit close'ing of session will flush buffered consume 
> seq-id's when auto-ack is enabled (default in hedwig java client).
> In addition, there are also fixes for
> d) Fix NPE's observed as part of testing JMS provider.

--
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] [Commented] (BOOKKEEPER-311) Changes in hedwig client api to support JMS spec

2012-07-30 Thread Mridul Muralidharan (JIRA)

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

Mridul Muralidharan commented on BOOKKEEPER-311:


The line length was what was mentioned by Sijie : 80-100 chars per line ...
Since the 80 character limit in java coding std predates modern editors (for a 
time of tty's/consoles using vi/emacs/printed code), I assumed breaking it was 
fine.

> Changes in hedwig client api to support JMS spec
> 
>
> Key: BOOKKEEPER-311
> URL: https://issues.apache.org/jira/browse/BOOKKEEPER-311
> Project: Bookkeeper
>  Issue Type: Sub-task
>Reporter: Mridul Muralidharan
>Assignee: Mridul Muralidharan
> Attachments: hedwig-client-consume.patch.1, 
> hedwig-client-publish.patch.1, hedwig-client.patch, hedwig-client.patch.3, 
> hedwig-client.patch.4, hedwig-client.patch.5
>
>
> Primary changes are :
> a) Add support for returning seq-id for a publish request. This is an api 
> change (backwardly compatible for users).
> b) Make consume a sync consume, with addition of an asyncConsume - this is to 
> ensure that invoking consume() ensure request makes to server before 
> returning (with what reasonable gaurantees that netty allows).
> c) Ensure that explicit close'ing of session will flush buffered consume 
> seq-id's when auto-ack is enabled (default in hedwig java client).
> In addition, there are also fixes for
> d) Fix NPE's observed as part of testing JMS provider.

--
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] [Commented] (BOOKKEEPER-311) Changes in hedwig client api to support JMS spec

2012-07-30 Thread Flavio Junqueira (JIRA)

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

Flavio Junqueira commented on BOOKKEEPER-311:
-

The Sun conventions say that lines shouldn't be wider than 80 characters:

http://www.oracle.com/technetwork/java/javase/documentation/codeconventions-136091.html#313

But, given that we haven't been following the formatting strictly, I don't feel 
I can hold this patch any longer, so it is good for me, +1. 

> Changes in hedwig client api to support JMS spec
> 
>
> Key: BOOKKEEPER-311
> URL: https://issues.apache.org/jira/browse/BOOKKEEPER-311
> Project: Bookkeeper
>  Issue Type: Sub-task
>Reporter: Mridul Muralidharan
>Assignee: Mridul Muralidharan
> Attachments: hedwig-client-consume.patch.1, 
> hedwig-client-publish.patch.1, hedwig-client.patch, hedwig-client.patch.3, 
> hedwig-client.patch.4, hedwig-client.patch.5
>
>
> Primary changes are :
> a) Add support for returning seq-id for a publish request. This is an api 
> change (backwardly compatible for users).
> b) Make consume a sync consume, with addition of an asyncConsume - this is to 
> ensure that invoking consume() ensure request makes to server before 
> returning (with what reasonable gaurantees that netty allows).
> c) Ensure that explicit close'ing of session will flush buffered consume 
> seq-id's when auto-ack is enabled (default in hedwig java client).
> In addition, there are also fixes for
> d) Fix NPE's observed as part of testing JMS provider.

--
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