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

Flavio Junqueira updated BOOKKEEPER-33:
---------------------------------------

    Attachment: bookkeeper-33-trace.txt

Stack trace of a test run that halted.

> Add length and offset parameter to addEntry
> -------------------------------------------
>
>                 Key: BOOKKEEPER-33
>                 URL: https://issues.apache.org/jira/browse/BOOKKEEPER-33
>             Project: Bookkeeper
>          Issue Type: Improvement
>            Reporter: Ivan Kelly
>         Attachments: BK-33.diff, bookkeeper-33-trace.txt
>
>
> <from email to dev list>
> I'm having an issue with the LedgerHandle#addEntry api.
> [1] best illustrates it. I'm buffering namenode transactions in the stream 
> and only transmitting when either flush is called or I have enough data to 
> pass my threshold. This means I have a byte buffer in my class which I fill 
> up as new transactions come in. When I transmit, I set this buffer as an 
> entry to bookkeeper. I.e. N whole namenode transactions will be contained in 
> 1 single bk entry. 
> The problem is this byte buffer (DataOutputBuffer in this case). I reuse the 
> same buffer over and over. But this buffer has a fixed size. If I transmit 
> before it is full, the whole buffer size will be transmitted anyhow. If the 
> buffer is being reused, this will retransmit old transactions out of order. 
> For example, in the first use, the buffer fills with, [a,b,c,d,e] and adds 
> this as an entry and resets the byte buffer. Then transaction f is  added and 
> flushed, in this case [f,b,c,d,e] is not transmitted. 
> What I need is the ability to set offset and length in the byte[] passed to 
> addEntry. Is there a reason this wasn't added in the initial implementation? 
> If not, and if you agree this is a valid usecase, ill open a JIRA and add 
> this functionality. Im getting around this now by doing an extra Array.copyOf 
> which is less than ideal.
> </from email>

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to