Avro C

2010-04-05 Thread Bruce Mitchener
Hello,

Is anyone out there actually using Avro C?  If so, are you using it in
production?

I'm wondering what impact some changes that are happening for 1.4 might have
on any actual users...

Thanks,

 - Bruce


Re: new Avro committer: Bruce Mitchener

2010-04-06 Thread Bruce Mitchener
Thank you!

I look forward to continuing to contribute.

I filed an ICLA last week and got an email that it had been received and
processed. That said, I do not yet see my name on
http://people.apache.org/~jim/committers.html

 - Bruce

On Tue, Apr 6, 2010 at 2:50 PM, Doug Cutting  wrote:

> The Hadoop PMC has voted to add Bruce Mitchener as an Avro committer.
>
> Bruce, can you please file an Individual Contributor License Agreement
> (ICLA) with Apache?  Instructions are at:
>
>  http://www.apache.org/licenses/#clas
>
> Once this is on file I can ask for your account to be created.
>
> Congratulations, Bruce!
>
> Doug
>


Thoughts on an RPC protocol

2010-04-07 Thread Bruce Mitchener
I'm assuming that the goals of an optimized transport for Avro RPC are
something like the following:

 * Framing should be efficient, easy to implement.
 * Streaming of large values, both as part of a request and as a response is
very important.
 * Being able to have multiple concurrent requests in flight, while also
being able to have ordering guarantees where desired is necessary.
 * It should be easy to implement this in Java, C, Python, Ruby, etc.
 * Security is or will be important. This security can include authorization
as well as privacy concerns.

I'd like to see something based largely upon RFC 3080, with some
simplifications and extensions:

http://www.faqs.org/rfcs/rfc3080.html

What does this get us?

 * This system has mechanisms in place for streaming both a single large
message and breaking a single reply up into multiple answers, allowing for
pretty flexible streaming.  (You can even mix these by having an answer that
gets chunked itself.)
 * Concurrency is achieved by having multiple channels. Each channel
executes messages in order, so you have a good mechanism for sending
multiple things at once as well as maintaining ordering guarantees as
necessary.
 * Reporting errors is very clear as it is a separate response type.
 * It has already been specified pretty clearly and we'd just be evolving
that to something that more closely matches our needs.
 * It specifies sufficient data that you could implement this over
transports other than TCP, such as UDP.

Changes, rough list:

 * Use Avro-encoding for most things, so the encoding of a message would
become an Avro struct.
 * Lose profiles in the sense that they're used in that specification since
we're just exchanging Avro RPCs.
 * Do length prefixing rather than in the header, so that it is very
amenable to binary I/O at high volumes.
 * No XML stuff, just existing things like the Avro handshake, wrapped up in
messages.
 * For now, don't worry about things like flow control as expressed in RFC
3081, mapping of 3080 to TCP.
 * Think about adding something for true one-way messages, but an empty
reply frame is probably sufficient, since that still allows reporting errors
if needed (or desired).
 * May well need some extensions for a more flexible security model.
 * Use Avro RPC stuff to encode the channel management commands on channel 0
rather than XML.

RFC 3117 (http://www.faqs.org/rfcs/rfc3117.html) goes into some of the
philosophy and thinking behind the design of RFC 3080.  Both are short and
easy reading.

 - Bruce


Re: Thoughts on an RPC protocol

2010-04-08 Thread Bruce Mitchener
While I recommend actually reading RFC 3080 (it is an easy read), this
summary may help...

Framing: Length prefixed data, nothing unusual.
Encoding: Messages are effectively this:

enum message_type {
message,// a request
reply,  // when there's only a single reply
answer,   // when there are multiple replies, send multiple
answers and then a null.
null,// terminate a chain of replies
error,  // oops, there was an error
}

struct message {
enum message_type message_type;
int channel;
int message_id;
bool more;  // Is this message complete, or is more data coming?
for streaming
int sequence_number; // see RFC 3080
optional int answer_number; // Used for answers
bytes payload;   // The actual RPC command, still serialized here
}

When a connection is opened, there's initially one channel, channel 0. That
channel is used for commands controlling the connection state, like opening
and closing channels.  We should also perform Avro RPC handshakes over
channel 0.

Channels allow for concurrency.  You can send requests/messages down
multiple channels and process them independently. Messages on a single
channel need to be processed in order though. This allows for both
guaranteed order of execution (within a single channel) and greater
concurrency (multiple channels).

Streaming happens in 2 ways.

The first way is to flip the more flag on a message. This means that the
data has been broken up over multiple messages and you need to receive the
whole thing before processing it.

The second is to have multiple answers (followed by a null frame) to a
single request message.  This allows you to process the data in a streaming
fashion.  The only thing that this doesn't allow is to process the data
being sent in a streaming fashion, but you could look at doing that by
sending multiple request messages instead.

Security and privacy can be handled by SASL.

The RFC defines a number of ways in which you can detect buggy
implementations of the protocol or invalid data being sent (framing /
encoding violations).

This should be pretty straight forward to implement, and as such (and since
I need such a thing in the immediate future), I've already begun an
implementation in C.

 - Bruce

On Wed, Apr 7, 2010 at 4:13 PM, Bruce Mitchener
wrote:

> I'm assuming that the goals of an optimized transport for Avro RPC are
> something like the following:
>
>  * Framing should be efficient, easy to implement.
>  * Streaming of large values, both as part of a request and as a response
> is very important.
>  * Being able to have multiple concurrent requests in flight, while also
> being able to have ordering guarantees where desired is necessary.
>  * It should be easy to implement this in Java, C, Python, Ruby, etc.
>  * Security is or will be important. This security can include
> authorization as well as privacy concerns.
>
> I'd like to see something based largely upon RFC 3080, with some
> simplifications and extensions:
>
> http://www.faqs.org/rfcs/rfc3080.html
>
> What does this get us?
>
>  * This system has mechanisms in place for streaming both a single large
> message and breaking a single reply up into multiple answers, allowing for
> pretty flexible streaming.  (You can even mix these by having an answer that
> gets chunked itself.)
>  * Concurrency is achieved by having multiple channels. Each channel
> executes messages in order, so you have a good mechanism for sending
> multiple things at once as well as maintaining ordering guarantees as
> necessary.
>  * Reporting errors is very clear as it is a separate response type.
>  * It has already been specified pretty clearly and we'd just be evolving
> that to something that more closely matches our needs.
>  * It specifies sufficient data that you could implement this over
> transports other than TCP, such as UDP.
>
> Changes, rough list:
>
>  * Use Avro-encoding for most things, so the encoding of a message would
> become an Avro struct.
>  * Lose profiles in the sense that they're used in that specification since
> we're just exchanging Avro RPCs.
>  * Do length prefixing rather than in the header, so that it is very
> amenable to binary I/O at high volumes.
>  * No XML stuff, just existing things like the Avro handshake, wrapped up
> in messages.
>  * For now, don't worry about things like flow control as expressed in RFC
> 3081, mapping of 3080 to TCP.
>  * Think about adding something for true one-way messages, but an empty
> reply frame is probably sufficient, since that still allows reporting errors
> if needed (or desired).
>  * May well need some extensions for a more flexible security model.
>  * Use Avro RPC stuff to encode the c

Re: Thoughts on an RPC protocol

2010-04-08 Thread Bruce Mitchener
Hi Bo,

Thanks for your feedback!

On Thu, Apr 8, 2010 at 3:49 PM, Bo Shi  wrote:

> Hi Bruce,
>
> Would this RPC protocol take the role of the transport in the Avro
> specification or would it replace the protocol?  If the handshake
> occurs on channel 0 while the request/response payloads are
> transferred on a different channel, this would not meet the existing
> wire protocol as described in the current 1.3.2 spec right?
>

This would be a transport.

I was thinking they would happen on 0 with 0 being a control channel, but
I'm not married to that. Offhand, I don't see why that would violate
anything in the specification though?

A couple other questions inline:
>
> On Thu, Apr 8, 2010 at 11:54 AM, Bruce Mitchener
>  wrote:
> > While I recommend actually reading RFC 3080 (it is an easy read), this
> > summary may help...
> >
> > Framing: Length prefixed data, nothing unusual.
> > Encoding: Messages are effectively this:
> >
> > enum message_type {
> >message,// a request
> >reply,  // when there's only a single reply
> >answer,   // when there are multiple replies, send
> multiple
> > answers and then a null.
> >null,// terminate a chain of replies
> >error,  // oops, there was an error
> > }
> >
> > struct message {
> >enum message_type message_type;
> >int channel;
> >int message_id;
> >bool more;  // Is this message complete, or is more data
> coming?
> > for streaming
> >int sequence_number; // see RFC 3080
> >optional int answer_number; // Used for answers
> >bytes payload;   // The actual RPC command, still serialized here
> > }
> >
> > When a connection is opened, there's initially one channel, channel 0.
> That
> > channel is used for commands controlling the connection state, like
> opening
> > and closing channels.  We should also perform Avro RPC handshakes over
> > channel 0.
>
> Is channel 0 used exclusively as a control channel or would requests
> be allowed on this channel?  Any idea on what the control messages
> would look like?


Channel 0 would be a control channel in my original proposal. I can see
arguments for allowing sending other requests on it from a simplicity point
of view. Thoughts?

Control messages would look like an Avro RPC call. They would be things
like:

OpenChannel returning the opened channel (or you could pass it the channel
number?)
CloseChannel gets passed the channel number to close.

> Channels allow for concurrency.  You can send requests/messages down
> > multiple channels and process them independently. Messages on a single
> > channel need to be processed in order though. This allows for both
> > guaranteed order of execution (within a single channel) and greater
> > concurrency (multiple channels).
> >
> > Streaming happens in 2 ways.
>
> For streaming transfers, thoughts on optional compression codec
> attachment to streaming channels?  It may be useful for IO-bound
> applications, but if you're transferring files like avro object
> container files that are already compressed - you'd need some extra
> coordination (but maybe that's outside the problem domain).



Compression would probably be something useful to support, agreed. That
could happen in various ways:


   - Per channel (all data on the channel is compressed)
   - Per request via a header of some sort
   - Per connection (all data on all channels)


I suspect that I prefer per-channel from a simplicity point of view, but I'd
like to hear what people think.

 - Bruce


Re: Thoughts on an RPC protocol

2010-04-08 Thread Bruce Mitchener
Doug,

I'm happy to hear that you like this approach!

Allocation of channels seems to be something specific to an application.  In
my app, I'd have a channel for the streaming data that is constantly
arriving and a channel for making requests on and getting back answers
immediately.  Others could have a channel per object or whatever.

Are your proxy servers custom software or are they just passing traffic
along directly? If they're Avro-aware, then they can manage the handshaking
process when routing to a new peer.  Is this something that is actively
happening today or just something that is possible?

I definitely agree about not wanting a handshake per request. For my
application that would add a lot of overhead in terms of the data
transmitted.  (I'm sending a lot of small requests, hopefully many thousands
per second...)  I would be much much happier being able to have a handshake
per connection (or per channel open).

 - Bruce

On Thu, Apr 8, 2010 at 4:43 PM, Doug Cutting  wrote:

> Bruce,
>
> Overall this looks like a good approach to me.
>
> How do you anticipate allocating channels?  I'm guessing this would be one
> per client object, that a pool of open connections to servers would be
> maintained, and creating a new client object would allocate a new channel.
>
> Currently we perform a handshake per request.  This is fairly cheap and
> permits things like routing through proxy servers.  Different requests over
> the same connection can talk to different backend servers running different
> versions of the protocol.  Also consider the case where, between calls on an
> object, the connection times out, and a new session is established and a new
> handshake must take place.
>
> That said, having a session where the handshake can be assumed vastly
> simplifies one-way messages.  Without a response or error on which to prefix
> a handshake response, a one-way client has no means to know that the server
> was able to even parse its request.  Yet we'd still like a handshake for
> one-way messages, so that clients and servers need not be versioned in
> lockstep.  So the handshake-per-request model doesn't serve one-way messages
> well.
>
> How can we address both of these needs: to permit flexible payload routing
> and efficient one-way messaging?
>
> Doug
>
>
> Bruce Mitchener wrote:
>
>>  * Think about adding something for true one-way messages, but an empty
>> reply frame is probably sufficient, since that still allows reporting
>> errors
>> if needed (or desired).
>>
>


Re: Thoughts on an RPC protocol

2010-04-09 Thread Bruce Mitchener
On Fri, Apr 9, 2010 at 10:00 AM, Scott Carey wrote:

>
> On Apr 8, 2010, at 11:35 PM, Bruce Mitchener wrote:
>
> > Doug,
> >
> > I'm happy to hear that you like this approach!
> >
> > Allocation of channels seems to be something specific to an application.
>  In
> > my app, I'd have a channel for the streaming data that is constantly
> > arriving and a channel for making requests on and getting back answers
> > immediately.  Others could have a channel per object or whatever.
>
> If this is all on one TCP port, then channels will interfere with one
> another somewhat -- the transport layer will see packets arrive in the order
> they were sent.  If one packet in your streaming data stalls, both channels
> will stall.  Depending on the application requirements, this might be fine.
>  But it should be made clear that channels are not independent, they are
> just interleaved over one ordered data stream.  How each implementation
> orders sending data on one end will affect order on the other side.


Agreed, that's just a fact of life with TCP.  Perhaps if SCTP ever gets some
traction, then people can do a mapping for that.  In the meantime, we could
look at what RFC 3081 did in the TCP mapping for RFC 3080 with respect to
flow control.

> I definitely agree about not wanting a handshake per request. For my
> > application that would add a lot of overhead in terms of the data
> > transmitted.  (I'm sending a lot of small requests, hopefully many
> thousands
> > per second...)  I would be much much happier being able to have a
> handshake
> > per connection (or per channel open).
> >
>
> Handshake per request will limit WAN usage.  Doubling request latency isn't
> a problem for local networks with sub 0.1ms RTTs, but it is a problem with
> 25ms RTTs.  Round trips aren't free on the processing or bandwidth side
> either.   If there is a way to meet most goals and limit extra handshakes to
> specific cases that would be a significant performance improvement.


We agree very strongly here.

 - Bruce


Re: Thoughts on an RPC protocol

2010-04-10 Thread Bruce Mitchener
What specific changes would you propose making to my proposal?

 - Bruce

On Sat, Apr 10, 2010 at 11:57 AM, Jeff Hodges  wrote:

> Sorry for the spam. Python, java and apache httpd implementations
> listed at the project page: http://www.chromium.org/spdy
>
> On Sat, Apr 10, 2010 at 10:53 AM, Jeff Hodges  wrote:
> > Oh, and it's been partially implemented in Chromium, so there's a
> > quasi-reference implementation.
> > --
> > Jeff
> >
> > On Sat, Apr 10, 2010 at 10:48 AM, Jeff Hodges 
> wrote:
> >> To throw another set of ideas into the hat, SPDY[1][2] would be good
> >> to learn from. SPDY takes the basics of HTTP and makes them fast.
> >> Benefits we would enjoy include:
> >>
> >> * Multiplexed streams
> >> * Request prioritization
> >> * HTTP header compression
> >> * Server push
> >>
> >> Currently in draft form.
> >>
> >> [1] http://dev.chromium.org/spdy/spdy-whitepaper
> >> [2] http://dev.chromium.org/spdy/spdy-protocol/spdy-protocol-draft2
> >> --
> >> Jeff
> >> On Fri, Apr 9, 2010 at 2:29 PM, Doug Cutting 
> wrote:
> >>> Scott Carey wrote:
> 
>  I also have not wrapped my head around routing/proxy use cases.  From
>  a somewhat ignorant perspective on them -- I'd rather have a solid
>  point-to-point protocol that just works, is simple, and can meet the
>  vast majority of use cases with high performance than one that
>  happens to be capable of sophisticated routing but has a lot of other
>  limitations or is a lot harder to implement and debug.
> >>>
> >>> FWIW, they're theoretical at this point.  I was only stating that
> prefixing
> >>> every request and response with handshakes makes stuff like proxies
> trivial,
> >>> since the protocol becomes stateless.  Once we start having sessions
> things
> >>> get trickier.  For example, many HTTP client libraries cache
> connections,
> >>> so, if you're building on top of one of those, it's hard to know when a
> new
> >>> connection is opened.
> >>>
> >>> One approach is to declare that the current framing and handshake rules
> only
> >>> apply to HTTP, currently our only standard transport.  Then we can
> define a
> >>> new transport that's point-to-point, stateful, etc. which may handle
> framing
> >>> and handshakes differently.  Thus we can retain back-compatibility.
>  Make
> >>> sense?
> >>>
> >>> Doug
> >>>
> >>
> >
>


Re: Erlang Avro binding?

2010-04-14 Thread Bruce Mitchener
This was the last state of his work and as far as I know, no one else is
working on it:

http://github.com/toddlipcon/avro/tree/erl/src/erl/

It would be awesome to have Erlang support though!

 - Bruce

On Wed, Apr 14, 2010 at 9:18 PM, satoshi kinoshita wrote:

>
> Hi,
>
> Does anyone there know anything about Erlang Avro binding?
> I heard that Todd Lipcon started it last year but
> I could not find any update or current states for Erlang binding.
>
> Thanks,
> Satoshi Kinoshita
>


Re: TLP move

2010-04-22 Thread Bruce Mitchener

+1

Sent from my iPhone

On Apr 22, 2010, at 1:56 PM, Jeff Hammerbacher   
wrote:



Switch to Confluence for the wiki, please.

On Thu, Apr 22, 2010 at 10:19 AM, Doug Cutting   
wrote:



The board yesterday passed a resolution making Avro a TLP.

I filed an infrastructure issue to start the move:

https://issues.apache.org/jira/browse/INFRA-2640

The primary disruption to developers will be when the subversion  
repository
is renamed.  We'll send out a note before we do this, then  
developers can

use 'svn switch' to update their repos.

One other issue is the wiki.  I don't think it's easy to rename a  
subtree
from a Moin Moin wiki to a new wiki.  Fortunately we don't have  
many wiki
pages and could cut and paste them manually.  Alternately, we could  
switch

to using confluence for our wiki.  Thoughts?

Doug



Re: new Avro committers: please update credits page

2010-05-10 Thread Bruce Mitchener
I tried to do the first part of this today (I am on OS X and didn't want to
install everything for forrest yet).  I got this error message:

Sendingxdocs/credits.xml
svn: Commit failed (details follow):
svn: Server sent unexpected return value (403 Forbidden) in response to
CHECKOUT request for
'/repos/asf/!svn/ver/933317/hadoop/avro/site/author/content/xdocs/credits.xml'
svn: Your commit message was left in a temporary file:
svn:
 '/Users/bruce/Development/svn.apache/avro/site/author/content/svn-commit.tmp'


I'm pretty sure that I used the right username and password on the command
line with svn.

Thoughts?

 - Bruce

On Mon, Apr 12, 2010 at 11:02 PM, Doug Cutting  wrote:

> Can new committers please add themselves to the credits page?
>
>  http://hadoop.apache.org/avro/credits.html
>
> This is done by checking out:
>
>  https://svn.apache.org/repos/asf/hadoop/avro/site/
>
> Edit author/content/xdocs/credits.xml, then:
>
>  ant
>  # check contents of publish/credits.html in browser
>  svn commit -m "Updated credits page"
>  ssh people.apache.org
>  cd /www/hadoop.apache.org/avro
>  svn up
>
> Thanks,
>
> Doug
>
>
>


[jira] Created: (AVRO-439) Remove unused headers from being checked in configure.in

2010-03-02 Thread Bruce Mitchener (JIRA)
Remove unused headers from being checked in configure.in


 Key: AVRO-439
 URL: https://issues.apache.org/jira/browse/AVRO-439
 Project: Avro
  Issue Type: Improvement
  Components: c
Affects Versions: 1.3.0
Reporter: Bruce Mitchener
Priority: Minor


The configure.in is checking for various headers explicitly ... but those 
headers are not used in the C implementation of Avro.


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Updated: (AVRO-439) Remove unused headers from being checked in configure.in

2010-03-02 Thread Bruce Mitchener (JIRA)

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

Bruce Mitchener updated AVRO-439:
-

Attachment: avro_configure.diff

The attached patch removes the files checked for that aren't used.

(Not that the checks for the other headers are used ... but that should be 
fixed separately.)


> Remove unused headers from being checked in configure.in
> 
>
> Key: AVRO-439
> URL: https://issues.apache.org/jira/browse/AVRO-439
> Project: Avro
>  Issue Type: Improvement
>  Components: c
>Affects Versions: 1.3.0
>    Reporter: Bruce Mitchener
>Priority: Minor
> Attachments: avro_configure.diff
>
>
> The configure.in is checking for various headers explicitly ... but those 
> headers are not used in the C implementation of Avro.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Created: (AVRO-440) config.h output not correctly used

2010-03-02 Thread Bruce Mitchener (JIRA)
config.h output not correctly used
--

 Key: AVRO-440
 URL: https://issues.apache.org/jira/browse/AVRO-440
 Project: Avro
  Issue Type: Bug
  Components: c
Affects Versions: 1.3.0
Reporter: Bruce Mitchener


While config.h is generated, it is only included from within st.c to make some 
things work correctly within st.h.

I would suggest changing things a little:

* Put an include of config.h into src/avro_private.h
* Include avro_private.h into all .c files.
* Not sure if the values from config.h are needed in any of the tests or 
examples ... I would hope not though and that this is fully insulated from 
being visible within anything exposed by avro.h.

Given some feedback, I can readily prepare a patch.


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Created: (AVRO-441) Support Universal binary builds on MacOS X

2010-03-02 Thread Bruce Mitchener (JIRA)
Support Universal binary builds on MacOS X
--

 Key: AVRO-441
 URL: https://issues.apache.org/jira/browse/AVRO-441
 Project: Avro
  Issue Type: Bug
  Components: c
Affects Versions: 1.3.0
Reporter: Bruce Mitchener


Currently, MacOS X can't do universal builds because things are detected at 
configure time rather than compile time.

I'll open an issue for each of these issues as i find them and link them to 
this one.


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Created: (AVRO-442) sizeof void* and sizeof long detected at configure time

2010-03-02 Thread Bruce Mitchener (JIRA)
sizeof void* and sizeof long detected at configure time
---

 Key: AVRO-442
 URL: https://issues.apache.org/jira/browse/AVRO-442
 Project: Avro
  Issue Type: Sub-task
  Components: c
Affects Versions: 1.3.0
Reporter: Bruce Mitchener


configure.in includes this:

AC_CHECK_SIZEOF(void *)
AC_CHECK_SIZEOF(long)

Which is used in st.h:

#if SIZEOF_LONG == SIZEOF_VOID_P
typedef unsigned long st_data_t;
#elif SIZEOF_LONG_LONG == SIZEOF_VOID_P
typedef unsigned LONG_LONG st_data_t;
#else
#error >> st.c requires sizeof(void*) == sizeof(long) to be compiled. <<---
#endif
#define ST_DATA_T_DEFINED

Couldn't that just be uintptr_t or something else and avoid the configure check 
entirely?


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Created: (AVRO-443) Endianness is determined at configure time rather than compile time

2010-03-02 Thread Bruce Mitchener (JIRA)
Endianness is determined at configure time rather than compile time
---

 Key: AVRO-443
 URL: https://issues.apache.org/jira/browse/AVRO-443
 Project: Avro
  Issue Type: Sub-task
  Components: c
Reporter: Bruce Mitchener


configure.in includes:
AC_C_BIGENDIAN

That will define (or not) WORDS_BIGENDIAN ... which is used in 
src/encoding_binary.c

That can be replaced with some compile-time checks ... I can submit a patch if 
necessary, let me know.


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (AVRO-441) Support Universal binary builds on MacOS X

2010-03-02 Thread Bruce Mitchener (JIRA)

[ 
https://issues.apache.org/jira/browse/AVRO-441?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12840114#action_12840114
 ] 

Bruce Mitchener commented on AVRO-441:
--

The reason that this is important is that when doing a universal build the 
easier way (with -arch flags), the exact same code is compiled for each -arch 
flag on the gcc command line, so the source needs to be the same.


> Support Universal binary builds on MacOS X
> --
>
> Key: AVRO-441
> URL: https://issues.apache.org/jira/browse/AVRO-441
> Project: Avro
>  Issue Type: Bug
>  Components: c
>Affects Versions: 1.3.0
>    Reporter: Bruce Mitchener
>
> Currently, MacOS X can't do universal builds because things are detected at 
> configure time rather than compile time.
> I'll open an issue for each of these issues as i find them and link them to 
> this one.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (AVRO-439) Remove unused headers from being checked in configure.in

2010-03-02 Thread Bruce Mitchener (JIRA)

[ 
https://issues.apache.org/jira/browse/AVRO-439?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12840115#action_12840115
 ] 

Bruce Mitchener commented on AVRO-439:
--

The same is also true for this:

# Checks for library functions.
AC_FUNC_MALLOC
AC_CHECK_FUNCS([bzero])

(bzero isn't even used...)


> Remove unused headers from being checked in configure.in
> 
>
> Key: AVRO-439
> URL: https://issues.apache.org/jira/browse/AVRO-439
> Project: Avro
>  Issue Type: Improvement
>  Components: c
>Affects Versions: 1.3.0
>Reporter: Bruce Mitchener
>Priority: Minor
> Attachments: avro_configure.diff
>
>
> The configure.in is checking for various headers explicitly ... but those 
> headers are not used in the C implementation of Avro.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Created: (AVRO-444) Fix warnings

2010-03-02 Thread Bruce Mitchener (JIRA)
Fix warnings


 Key: AVRO-444
 URL: https://issues.apache.org/jira/browse/AVRO-444
 Project: Avro
  Issue Type: Improvement
  Components: c
Reporter: Bruce Mitchener




-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Updated: (AVRO-444) Fix warnings

2010-03-02 Thread Bruce Mitchener (JIRA)

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

Bruce Mitchener updated AVRO-444:
-

Attachment: warnings.diff

The attached patch fixes all warnings that I got on Mac OS X apart from unused 
parameter warnings.


> Fix warnings
> 
>
> Key: AVRO-444
> URL: https://issues.apache.org/jira/browse/AVRO-444
> Project: Avro
>  Issue Type: Improvement
>  Components: c
>    Reporter: Bruce Mitchener
> Attachments: warnings.diff
>
>


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (AVRO-439) Remove unused headers from being checked in configure.in

2010-03-02 Thread Bruce Mitchener (JIRA)

[ 
https://issues.apache.org/jira/browse/AVRO-439?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12840195#action_12840195
 ] 

Bruce Mitchener commented on AVRO-439:
--

More up to date, since it cleans up a couple of other things and unistd.h can 
go away as well:

http://github.com/waywardmonkeys/avro/commit/06c3ccab086de1f7025a7d7ee719b9054d05df42


> Remove unused headers from being checked in configure.in
> 
>
> Key: AVRO-439
> URL: https://issues.apache.org/jira/browse/AVRO-439
> Project: Avro
>  Issue Type: Improvement
>  Components: c
>Affects Versions: 1.3.0
>    Reporter: Bruce Mitchener
>Priority: Minor
> Attachments: avro_configure.diff
>
>
> The configure.in is checking for various headers explicitly ... but those 
> headers are not used in the C implementation of Avro.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Created: (AVRO-445) avro_size_data() to pre-calculate the size of an avro_datum_t in serialized form

2010-03-02 Thread Bruce Mitchener (JIRA)
avro_size_data() to pre-calculate the size of an avro_datum_t in serialized form


 Key: AVRO-445
 URL: https://issues.apache.org/jira/browse/AVRO-445
 Project: Avro
  Issue Type: New Feature
  Components: c
Affects Versions: 1.3.0
Reporter: Bruce Mitchener
 Attachments: avro_size.diff

I would like to be able to find out how much buffer space will be required to 
serialize a given avro_datum_t ... I've started implementing this but wanted to 
get feedback on the general approach and API.

The details of most of the functions in datum_size.c haven't been updated yet 
in the attached patch. The rest should be close to working though.

The main point of concern that I have at the moment is that I'm returning an 
int64_t which, if positive, is the length required and if negative, will be an 
error condition (like -EINVAL).

Thoughts? Anything else in the attached patch that should change?


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Updated: (AVRO-445) avro_size_data() to pre-calculate the size of an avro_datum_t in serialized form

2010-03-02 Thread Bruce Mitchener (JIRA)

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

Bruce Mitchener updated AVRO-445:
-

Attachment: avro_size.diff

Work in progress...

> avro_size_data() to pre-calculate the size of an avro_datum_t in serialized 
> form
> 
>
> Key: AVRO-445
> URL: https://issues.apache.org/jira/browse/AVRO-445
> Project: Avro
>  Issue Type: New Feature
>  Components: c
>Affects Versions: 1.3.0
>Reporter: Bruce Mitchener
> Attachments: avro_size.diff
>
>
> I would like to be able to find out how much buffer space will be required to 
> serialize a given avro_datum_t ... I've started implementing this but wanted 
> to get feedback on the general approach and API.
> The details of most of the functions in datum_size.c haven't been updated yet 
> in the attached patch. The rest should be close to working though.
> The main point of concern that I have at the moment is that I'm returning an 
> int64_t which, if positive, is the length required and if negative, will be 
> an error condition (like -EINVAL).
> Thoughts? Anything else in the attached patch that should change?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Updated: (AVRO-442) sizeof void* and sizeof long detected at configure time

2010-03-02 Thread Bruce Mitchener (JIRA)

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

Bruce Mitchener updated AVRO-442:
-

Attachment: avro_no_size_checks.diff

The attached patch just uses uintptr_t instead of doing configure checks...

> sizeof void* and sizeof long detected at configure time
> ---
>
> Key: AVRO-442
> URL: https://issues.apache.org/jira/browse/AVRO-442
> Project: Avro
>  Issue Type: Sub-task
>  Components: c
>Affects Versions: 1.3.0
>    Reporter: Bruce Mitchener
> Attachments: avro_no_size_checks.diff
>
>
> configure.in includes this:
> AC_CHECK_SIZEOF(void *)
> AC_CHECK_SIZEOF(long)
> Which is used in st.h:
> #if SIZEOF_LONG == SIZEOF_VOID_P
> typedef unsigned long st_data_t;
> #elif SIZEOF_LONG_LONG == SIZEOF_VOID_P
> typedef unsigned LONG_LONG st_data_t;
> #else
> #error >> st.c requires sizeof(void*) == sizeof(long) to be compiled. 
> <<---
> #endif
> #define ST_DATA_T_DEFINED
> Couldn't that just be uintptr_t or something else and avoid the configure 
> check entirely?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Updated: (AVRO-439) Remove unused headers from being checked in configure.in

2010-03-02 Thread Bruce Mitchener (JIRA)

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

Bruce Mitchener updated AVRO-439:
-

Attachment: avro_configure.diff

Updated, this is what I had on Github for this change.

> Remove unused headers from being checked in configure.in
> 
>
> Key: AVRO-439
> URL: https://issues.apache.org/jira/browse/AVRO-439
> Project: Avro
>  Issue Type: Improvement
>  Components: c
>Affects Versions: 1.3.0
>    Reporter: Bruce Mitchener
>Priority: Minor
> Attachments: avro_configure.diff, avro_configure.diff
>
>
> The configure.in is checking for various headers explicitly ... but those 
> headers are not used in the C implementation of Avro.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Updated: (AVRO-443) Endianness is determined at configure time rather than compile time

2010-03-02 Thread Bruce Mitchener (JIRA)

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

Bruce Mitchener updated AVRO-443:
-

Attachment: avro_endian.diff

The attached patch should resolve this.


> Endianness is determined at configure time rather than compile time
> ---
>
> Key: AVRO-443
> URL: https://issues.apache.org/jira/browse/AVRO-443
> Project: Avro
>  Issue Type: Sub-task
>  Components: c
>    Reporter: Bruce Mitchener
> Attachments: avro_endian.diff
>
>
> configure.in includes:
> AC_C_BIGENDIAN
> That will define (or not) WORDS_BIGENDIAN ... which is used in 
> src/encoding_binary.c
> That can be replaced with some compile-time checks ... I can submit a patch 
> if necessary, let me know.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Created: (AVRO-448) encoding_binary.c doesn't build on little endian platforms

2010-03-02 Thread Bruce Mitchener (JIRA)
encoding_binary.c doesn't build on little endian platforms
--

 Key: AVRO-448
 URL: https://issues.apache.org/jira/browse/AVRO-448
 Project: Avro
  Issue Type: Bug
  Components: c
Affects Versions: 1.3.0
Reporter: Bruce Mitchener


See upcoming attachment.


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Updated: (AVRO-448) encoding_binary.c doesn't build on little endian platforms

2010-03-02 Thread Bruce Mitchener (JIRA)

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

Bruce Mitchener updated AVRO-448:
-

Attachment: avro_little_endian.diff

Simple fix attached.


> encoding_binary.c doesn't build on little endian platforms
> --
>
> Key: AVRO-448
> URL: https://issues.apache.org/jira/browse/AVRO-448
> Project: Avro
>  Issue Type: Bug
>  Components: c
>Affects Versions: 1.3.0
>    Reporter: Bruce Mitchener
> Attachments: avro_little_endian.diff
>
>
> See upcoming attachment.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Updated: (AVRO-445) avro_size_data() to pre-calculate the size of an avro_datum_t in serialized form

2010-03-03 Thread Bruce Mitchener (JIRA)

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

Bruce Mitchener updated AVRO-445:
-

Attachment: avro_size.diff

Attached patch appears to work and includes tests.


> avro_size_data() to pre-calculate the size of an avro_datum_t in serialized 
> form
> 
>
> Key: AVRO-445
> URL: https://issues.apache.org/jira/browse/AVRO-445
> Project: Avro
>  Issue Type: New Feature
>  Components: c
>Affects Versions: 1.3.0
>Reporter: Bruce Mitchener
> Attachments: avro_size.diff, avro_size.diff
>
>
> I would like to be able to find out how much buffer space will be required to 
> serialize a given avro_datum_t ... I've started implementing this but wanted 
> to get feedback on the general approach and API.
> The details of most of the functions in datum_size.c haven't been updated yet 
> in the attached patch. The rest should be close to working though.
> The main point of concern that I have at the moment is that I'm returning an 
> int64_t which, if positive, is the length required and if negative, will be 
> an error condition (like -EINVAL).
> Thoughts? Anything else in the attached patch that should change?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (AVRO-448) encoding_binary.c doesn't build on little endian platforms

2010-03-03 Thread Bruce Mitchener (JIRA)

[ 
https://issues.apache.org/jira/browse/AVRO-448?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12840654#action_12840654
 ] 

Bruce Mitchener commented on AVRO-448:
--

I meant big endian platforms ...


> encoding_binary.c doesn't build on little endian platforms
> --
>
> Key: AVRO-448
> URL: https://issues.apache.org/jira/browse/AVRO-448
> Project: Avro
>  Issue Type: Bug
>  Components: c
>Affects Versions: 1.3.0
>Reporter: Bruce Mitchener
> Attachments: avro_little_endian.diff
>
>
> See upcoming attachment.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Updated: (AVRO-445) avro_size_data() to pre-calculate the size of an avro_datum_t in serialized form

2010-03-03 Thread Bruce Mitchener (JIRA)

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

Bruce Mitchener updated AVRO-445:
-

Attachment: (was: avro_size.diff)

> avro_size_data() to pre-calculate the size of an avro_datum_t in serialized 
> form
> 
>
> Key: AVRO-445
> URL: https://issues.apache.org/jira/browse/AVRO-445
> Project: Avro
>  Issue Type: New Feature
>  Components: c
>Affects Versions: 1.3.0
>Reporter: Bruce Mitchener
> Attachments: avro_size.diff
>
>
> I would like to be able to find out how much buffer space will be required to 
> serialize a given avro_datum_t ... I've started implementing this but wanted 
> to get feedback on the general approach and API.
> The details of most of the functions in datum_size.c haven't been updated yet 
> in the attached patch. The rest should be close to working though.
> The main point of concern that I have at the moment is that I'm returning an 
> int64_t which, if positive, is the length required and if negative, will be 
> an error condition (like -EINVAL).
> Thoughts? Anything else in the attached patch that should change?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Updated: (AVRO-448) encoding_binary.c doesn't build on little endian platforms

2010-03-03 Thread Bruce Mitchener (JIRA)

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

Bruce Mitchener updated AVRO-448:
-

Attachment: (was: avro_little_endian.diff)

> encoding_binary.c doesn't build on little endian platforms
> --
>
> Key: AVRO-448
> URL: https://issues.apache.org/jira/browse/AVRO-448
> Project: Avro
>  Issue Type: Bug
>  Components: c
>Affects Versions: 1.3.0
>    Reporter: Bruce Mitchener
> Attachments: avro_big_endian.diff
>
>
> See upcoming attachment.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Updated: (AVRO-448) encoding_binary.c doesn't build on little endian platforms

2010-03-03 Thread Bruce Mitchener (JIRA)

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

Bruce Mitchener updated AVRO-448:
-

Attachment: avro_big_endian.diff

Re-attaching to grant license.


> encoding_binary.c doesn't build on little endian platforms
> --
>
> Key: AVRO-448
> URL: https://issues.apache.org/jira/browse/AVRO-448
> Project: Avro
>  Issue Type: Bug
>  Components: c
>Affects Versions: 1.3.0
>    Reporter: Bruce Mitchener
> Attachments: avro_big_endian.diff
>
>
> See upcoming attachment.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Created: (AVRO-449) CMake-based build system for Avro/C

2010-03-03 Thread Bruce Mitchener (JIRA)
CMake-based build system for Avro/C
---

 Key: AVRO-449
 URL: https://issues.apache.org/jira/browse/AVRO-449
 Project: Avro
  Issue Type: New Feature
  Components: c
Affects Versions: 1.3.0
Reporter: Bruce Mitchener


I am working on a CMake-based build system for Avro/C.  This has these 
advantages over the current autoconf build system:

 * Easier to get features like universal binaries correct.
 * Works on Windows to make it easier to work on a Windows port of Avro/C.
 * Lets us generate project files for Visual Studio and XCode.


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Updated: (AVRO-449) CMake-based build system for Avro/C

2010-03-04 Thread Bruce Mitchener (JIRA)

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

Bruce Mitchener updated AVRO-449:
-

Attachment: avro_cmake.diff

Work in progress 

Things left to do:
* Documentation about usage.
* Support both version numbers that the autotools build system is using.
* Support for building documentation.
* Support for the cscope target.
* Finish up the pretty target (moving the ~ files).
* Figure out what to do about config.h

The attached patch just removes the only reference to config.h in the sources 
for now ... (src/st.c).

This patch shouldn't go in yet!

To use it, apply it ... and then in lang/c, do the following:
* mkdir cbuild
* cd cbuild
* cmake ..
* make

But at this point, it builds, it can install, it passes the tests, it generates 
projects for various IDEs, etc.

And on OS X, it will automatically build for PPC, x86 (i386) and x86-64 as a 
universal binary.


> CMake-based build system for Avro/C
> ---
>
> Key: AVRO-449
> URL: https://issues.apache.org/jira/browse/AVRO-449
> Project: Avro
>  Issue Type: New Feature
>  Components: c
>Affects Versions: 1.3.0
>    Reporter: Bruce Mitchener
> Attachments: avro_cmake.diff
>
>
> I am working on a CMake-based build system for Avro/C.  This has these 
> advantages over the current autoconf build system:
>  * Easier to get features like universal binaries correct.
>  * Works on Windows to make it easier to work on a Windows port of Avro/C.
>  * Lets us generate project files for Visual Studio and XCode.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (AVRO-449) CMake-based build system for Avro/C

2010-03-04 Thread Bruce Mitchener (JIRA)

[ 
https://issues.apache.org/jira/browse/AVRO-449?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12841626#action_12841626
 ] 

Bruce Mitchener commented on AVRO-449:
--

It would not be that difficult. There is support for finding Boost and other 
stuff in CMake as well which should help out.  It might be useful for whoever 
does that work to also have a look at the CMake files in this as this uses 
Boost and Doxygen:

http://code.google.com/p/cpp-library-project-template/


> CMake-based build system for Avro/C
> ---
>
> Key: AVRO-449
> URL: https://issues.apache.org/jira/browse/AVRO-449
> Project: Avro
>  Issue Type: New Feature
>  Components: c
>Affects Versions: 1.3.0
>    Reporter: Bruce Mitchener
> Attachments: avro_cmake.diff
>
>
> I am working on a CMake-based build system for Avro/C.  This has these 
> advantages over the current autoconf build system:
>  * Easier to get features like universal binaries correct.
>  * Works on Windows to make it easier to work on a Windows port of Avro/C.
>  * Lets us generate project files for Visual Studio and XCode.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Created: (AVRO-452) Include cleanup

2010-03-05 Thread Bruce Mitchener (JIRA)
Include cleanup
---

 Key: AVRO-452
 URL: https://issues.apache.org/jira/browse/AVRO-452
 Project: Avro
  Issue Type: Improvement
  Components: c
Affects Versions: 1.3.0
Reporter: Bruce Mitchener
 Attachments: avro_header_cleanup.diff

This makes most of the changes that I suggested in AVRO-440, but it removes the 
last reference to config.h instead of putting it into avro_private.h

It also adds a license block to a file that it was previously missing from.


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Updated: (AVRO-452) Include cleanup

2010-03-05 Thread Bruce Mitchener (JIRA)

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

Bruce Mitchener updated AVRO-452:
-

Attachment: avro_header_cleanup.diff

> Include cleanup
> ---
>
> Key: AVRO-452
> URL: https://issues.apache.org/jira/browse/AVRO-452
> Project: Avro
>  Issue Type: Improvement
>  Components: c
>Affects Versions: 1.3.0
>    Reporter: Bruce Mitchener
> Attachments: avro_header_cleanup.diff
>
>
> This makes most of the changes that I suggested in AVRO-440, but it removes 
> the last reference to config.h instead of putting it into avro_private.h
> It also adds a license block to a file that it was previously missing from.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Created: (AVRO-453) More warning cleanup

2010-03-05 Thread Bruce Mitchener (JIRA)
More warning cleanup


 Key: AVRO-453
 URL: https://issues.apache.org/jira/browse/AVRO-453
 Project: Avro
  Issue Type: Improvement
  Components: c
Reporter: Bruce Mitchener
 Attachments: avro_warning_cleanup.diff

This requires that the patch from AVRO-452 be applied. It fixes all remaining 
warnings when using the CMake build (and probably autotools).


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Updated: (AVRO-453) More warning cleanup

2010-03-05 Thread Bruce Mitchener (JIRA)

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

Bruce Mitchener updated AVRO-453:
-

Attachment: avro_warning_cleanup.diff

> More warning cleanup
> 
>
> Key: AVRO-453
> URL: https://issues.apache.org/jira/browse/AVRO-453
> Project: Avro
>  Issue Type: Improvement
>  Components: c
>    Reporter: Bruce Mitchener
> Attachments: avro_warning_cleanup.diff
>
>
> This requires that the patch from AVRO-452 be applied. It fixes all remaining 
> warnings when using the CMake build (and probably autotools).

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (AVRO-441) Support Universal binary builds on MacOS X

2010-03-05 Thread Bruce Mitchener (JIRA)

[ 
https://issues.apache.org/jira/browse/AVRO-441?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12841917#action_12841917
 ] 

Bruce Mitchener commented on AVRO-441:
--

This is working for me now if I use the CMake build. If we're in agreement that 
we're going to at least support CMake going forward, we can close this...

If not, let me know and I'll try to find the time to look into what's wrong 
with the autotools build.


> Support Universal binary builds on MacOS X
> --
>
> Key: AVRO-441
> URL: https://issues.apache.org/jira/browse/AVRO-441
> Project: Avro
>  Issue Type: Bug
>  Components: c
>Affects Versions: 1.3.0
>Reporter: Bruce Mitchener
>
> Currently, MacOS X can't do universal builds because things are detected at 
> configure time rather than compile time.
> I'll open an issue for each of these issues as i find them and link them to 
> this one.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Updated: (AVRO-440) config.h output not correctly used

2010-03-05 Thread Bruce Mitchener (JIRA)

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

Bruce Mitchener updated AVRO-440:
-

Attachment: avro_config_h_check.diff

Apply AVRO-452's patch and then this one ... it will allow the use of stuff via 
config.h in an autotools build without messing up a CMake build. That said, 
nothing actually uses config.h at this point.


> config.h output not correctly used
> --
>
> Key: AVRO-440
> URL: https://issues.apache.org/jira/browse/AVRO-440
> Project: Avro
>  Issue Type: Bug
>  Components: c
>Affects Versions: 1.3.0
>    Reporter: Bruce Mitchener
> Attachments: avro_config_h_check.diff
>
>
> While config.h is generated, it is only included from within st.c to make 
> some things work correctly within st.h.
> I would suggest changing things a little:
> * Put an include of config.h into src/avro_private.h
> * Include avro_private.h into all .c files.
> * Not sure if the values from config.h are needed in any of the tests or 
> examples ... I would hope not though and that this is fully insulated from 
> being visible within anything exposed by avro.h.
> Given some feedback, I can readily prepare a patch.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Created: (AVRO-460) Performance improvement to write_long()

2010-03-12 Thread Bruce Mitchener (JIRA)
Performance improvement to write_long()
---

 Key: AVRO-460
 URL: https://issues.apache.org/jira/browse/AVRO-460
 Project: Avro
  Issue Type: Improvement
  Components: c
Affects Versions: 1.3.0
Reporter: Bruce Mitchener


write_long should buffer up its output and write it at once to avoid overhead 
rather than writing byte-by-byte.


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Updated: (AVRO-460) Performance improvement to write_long()

2010-03-12 Thread Bruce Mitchener (JIRA)

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

Bruce Mitchener updated AVRO-460:
-

Attachment: avro_write_long.diff

This patch improves performance significantly for larger numbers (and doesn't 
hurt for smaller numbers).


> Performance improvement to write_long()
> ---
>
> Key: AVRO-460
> URL: https://issues.apache.org/jira/browse/AVRO-460
> Project: Avro
>  Issue Type: Improvement
>  Components: c
>Affects Versions: 1.3.0
>    Reporter: Bruce Mitchener
> Attachments: avro_write_long.diff
>
>
> write_long should buffer up its output and write it at once to avoid overhead 
> rather than writing byte-by-byte.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Created: (AVRO-464) Some hash tables can be arrays instead.

2010-03-14 Thread Bruce Mitchener (JIRA)
Some hash tables can be arrays instead.
---

 Key: AVRO-464
 URL: https://issues.apache.org/jira/browse/AVRO-464
 Project: Avro
  Issue Type: Improvement
  Components: c
Reporter: Bruce Mitchener
Assignee: Bruce Mitchener


As far as I can tell, there's no need for the integer->string hash tables in 
schemas or records ... they can be arrays instead.


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (AVRO-464) Some hash tables can be arrays instead.

2010-03-14 Thread Bruce Mitchener (JIRA)

[ 
https://issues.apache.org/jira/browse/AVRO-464?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12845193#action_12845193
 ] 

Bruce Mitchener commented on AVRO-464:
--

But right now, the code is iterating 0 to num entries so that still would not 
work. My thought was to progressively rework this from where it is to using an 
open addressed hash instead and then it can be more efficient and still support 
sparse entries in the future. I think we can get rid of a fair bit of overhead 
in the current implementation.

I will have an experimental patch soon...

> Some hash tables can be arrays instead.
> ---
>
> Key: AVRO-464
> URL: https://issues.apache.org/jira/browse/AVRO-464
> Project: Avro
>  Issue Type: Improvement
>  Components: c
>    Reporter: Bruce Mitchener
>    Assignee: Bruce Mitchener
>
> As far as I can tell, there's no need for the integer->string hash tables in 
> schemas or records ... they can be arrays instead.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Updated: (AVRO-464) Rework internals of records and schemas for greater performance

2010-03-15 Thread Bruce Mitchener (JIRA)

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

Bruce Mitchener updated AVRO-464:
-

Summary: Rework internals of records and schemas for greater performance  
(was: Some hash tables can be arrays instead.)

I am broadening the scope of this. I have some larger changes underway and it 
will be easier as a single patch.

The initial changes led to a change from 4.2 to 3.7 seconds for serializing the 
same record object 10,000,000 times without validation. I think we can do 
better though.

> Rework internals of records and schemas for greater performance
> ---
>
> Key: AVRO-464
> URL: https://issues.apache.org/jira/browse/AVRO-464
> Project: Avro
>  Issue Type: Improvement
>  Components: c
>    Reporter: Bruce Mitchener
>    Assignee: Bruce Mitchener
>
> As far as I can tell, there's no need for the integer->string hash tables in 
> schemas or records ... they can be arrays instead.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Assigned: (AVRO-418) avro.h generates errors when included in C++ code

2010-03-15 Thread Bruce Mitchener (JIRA)

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

Bruce Mitchener reassigned AVRO-418:


Assignee: Bruce Mitchener  (was: Matt Massie)

> avro.h generates errors when included in C++ code
> -
>
> Key: AVRO-418
> URL: https://issues.apache.org/jira/browse/AVRO-418
> Project: Avro
>  Issue Type: Bug
>  Components: c
>Reporter: Matt Massie
>    Assignee: Bruce Mitchener
> Attachments: AVRO-418.patch
>
>
> avro.h cannot be included in C++ code without errors

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Updated: (AVRO-418) avro.h generates errors when included in C++ code

2010-03-15 Thread Bruce Mitchener (JIRA)

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

Bruce Mitchener updated AVRO-418:
-

Attachment: avro_build_with_cpp.diff

I think this is a better approach to addressing the problems ... it also 
includes a test program that will fail to compile if the other fixes aren't in 
place.  I tested the test under the CMake build but NOT under autotools.


> avro.h generates errors when included in C++ code
> -
>
> Key: AVRO-418
> URL: https://issues.apache.org/jira/browse/AVRO-418
> Project: Avro
>  Issue Type: Bug
>  Components: c
>Reporter: Matt Massie
>    Assignee: Bruce Mitchener
> Attachments: AVRO-418.patch, avro_build_with_cpp.diff
>
>
> avro.h cannot be included in C++ code without errors

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (AVRO-449) CMake-based build system for Avro/C

2010-03-15 Thread Bruce Mitchener (JIRA)

[ 
https://issues.apache.org/jira/browse/AVRO-449?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12845524#action_12845524
 ] 

Bruce Mitchener commented on AVRO-449:
--

When you get a chance, please uncomment those lines (and leave the requirement 
at 2.4) and tell me how it is actually failing ... it seems like 
CMAKE_COMPILER_IS_GNUCC should have been working even back in 2.4...

> CMake-based build system for Avro/C
> ---
>
> Key: AVRO-449
> URL: https://issues.apache.org/jira/browse/AVRO-449
> Project: Avro
>  Issue Type: New Feature
>  Components: c
>Affects Versions: 1.3.0
>    Reporter: Bruce Mitchener
>Assignee: Bruce Mitchener
> Attachments: avro_cmake.diff
>
>
> I am working on a CMake-based build system for Avro/C.  This has these 
> advantages over the current autoconf build system:
>  * Easier to get features like universal binaries correct.
>  * Works on Windows to make it easier to work on a Windows port of Avro/C.
>  * Lets us generate project files for Visual Studio and XCode.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Updated: (AVRO-449) CMake-based build system for Avro/C

2010-03-15 Thread Bruce Mitchener (JIRA)

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

Bruce Mitchener updated AVRO-449:
-

Attachment: (was: avro_cmake.diff)

> CMake-based build system for Avro/C
> ---
>
> Key: AVRO-449
> URL: https://issues.apache.org/jira/browse/AVRO-449
> Project: Avro
>  Issue Type: New Feature
>  Components: c
>Affects Versions: 1.3.0
>    Reporter: Bruce Mitchener
>Assignee: Bruce Mitchener
> Attachments: avro_cmake.diff
>
>
> I am working on a CMake-based build system for Avro/C.  This has these 
> advantages over the current autoconf build system:
>  * Easier to get features like universal binaries correct.
>  * Works on Windows to make it easier to work on a Windows port of Avro/C.
>  * Lets us generate project files for Visual Studio and XCode.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Updated: (AVRO-449) CMake-based build system for Avro/C

2010-03-15 Thread Bruce Mitchener (JIRA)

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

Bruce Mitchener updated AVRO-449:
-

Attachment: avro_cmake.diff

Updated to address the issues with CMake 2.4 on Linux.

> CMake-based build system for Avro/C
> ---
>
> Key: AVRO-449
> URL: https://issues.apache.org/jira/browse/AVRO-449
> Project: Avro
>  Issue Type: New Feature
>  Components: c
>Affects Versions: 1.3.0
>    Reporter: Bruce Mitchener
>Assignee: Bruce Mitchener
> Attachments: avro_cmake.diff
>
>
> I am working on a CMake-based build system for Avro/C.  This has these 
> advantages over the current autoconf build system:
>  * Easier to get features like universal binaries correct.
>  * Works on Windows to make it easier to work on a Windows port of Avro/C.
>  * Lets us generate project files for Visual Studio and XCode.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (AVRO-462) C implementation does not accept "simple" primitive schemas

2010-03-15 Thread Bruce Mitchener (JIRA)

[ 
https://issues.apache.org/jira/browse/AVRO-462?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12845705#action_12845705
 ] 

Bruce Mitchener commented on AVRO-462:
--

The roadmap (http://wiki.github.com/akheron/jansson/roadmap) for Jansson 1.3 
indicates that they want to support this ... wonder how hard it would be to 
contribute the required support to Jansson vs changing to yajl?


> C implementation does not accept "simple" primitive schemas
> ---
>
> Key: AVRO-462
> URL: https://issues.apache.org/jira/browse/AVRO-462
> Project: Avro
>  Issue Type: Bug
>  Components: c
>Affects Versions: 1.3.0
>Reporter: Jeff Hodges
>
> Schemas like "null", "int", "string", etc. (instead of the longer, {type: 
> "null"}, {type: "int"}, etc.) are not accepted by the C implementation.
> This seems to be a problem with the jansson JSON library used. It (strictly 
> correctly) says that simple strings are not JSON objects.
> Switching to the yajl[1] library would fix this as yajl accepts "subsets" of 
> JSON like strings, numbers and so on. 
> [1] http://lloyd.github.com/yajl/

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (AVRO-465) C implementation requires you to know a file's schema before reading

2010-03-15 Thread Bruce Mitchener (JIRA)

[ 
https://issues.apache.org/jira/browse/AVRO-465?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12845706#action_12845706
 ] 

Bruce Mitchener commented on AVRO-465:
--

I'd suggest this signature:

avro_schema_t avro_file_reader_get_schema(avro_file_reader_t reader)


> C implementation requires you to know a file's schema before reading
> 
>
> Key: AVRO-465
> URL: https://issues.apache.org/jira/browse/AVRO-465
> Project: Avro
>  Issue Type: Bug
>  Components: c
>Affects Versions: 1.3.0
>Reporter: Jeff Hodges
> Attachments: AVRO-465-schema_for_reader.patch
>
>
> The C implementation gives the user no way of reading the objects in a data 
> file without knowing the file's schema ahead of time.
> While it does fill in the writers_schema part of the avro_file_reader_t on 
> read, this field is not available to the API as it is left out of avro.h. Two 
> options persent itself: 1) preserve the API as is and add a 
> avro_schema_from_file_reader() function or 2) move the avro_file_reader_t and 
> avro_file_writer_t structs to avro.h.
> A third option, that I don't approve of, is providing a function that reads 
> from a datafile but uses the writers_schema in the reader given instead of 
> requiring another schema to be passed into it. This is problematic because 
> anyone using the API would have fewer debugging and testing options when 
> dealing with interop datasets. Any problem that occurs might just be the 
> schema in the file being off, or whatever.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Created: (AVRO-466) Add avro_t for global state and avro_start / avro_stop functions

2010-03-15 Thread Bruce Mitchener (JIRA)
Add avro_t for global state and avro_start / avro_stop functions


 Key: AVRO-466
 URL: https://issues.apache.org/jira/browse/AVRO-466
 Project: Avro
  Issue Type: Improvement
  Components: c
Affects Versions: 1.3.0
Reporter: Bruce Mitchener
Assignee: Bruce Mitchener


Patch coming shortly.

This is a bit of a change since we'd now recommend that users always call this 
at startup / shutdown ... not sure of the best way to handle that for people 
that don't.

I guess that'd make this a change for 1.4?

My subsequent changes will depend on this (memory allocation routing and atom 
table).


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Created: (AVRO-467) Finish up CMake build system missing features

2010-03-16 Thread Bruce Mitchener (JIRA)
Finish up CMake build system missing features
-

 Key: AVRO-467
 URL: https://issues.apache.org/jira/browse/AVRO-467
 Project: Avro
  Issue Type: Improvement
  Components: c
Affects Versions: 1.3.0
Reporter: Bruce Mitchener


Placeholder bug to serve as a parent for all of the various remaining tasks for 
the CMake build system.


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Created: (AVRO-468) Document usage of the CMake build system

2010-03-16 Thread Bruce Mitchener (JIRA)
Document usage of the CMake build system


 Key: AVRO-468
 URL: https://issues.apache.org/jira/browse/AVRO-468
 Project: Avro
  Issue Type: Sub-task
  Components: c
Reporter: Bruce Mitchener


We need to document how to use the CMake-based build system, including some 
typical things like debug vs release vs release-with-debug-info builds.


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Assigned: (AVRO-467) Finish up CMake build system missing features

2010-03-16 Thread Bruce Mitchener (JIRA)

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

Bruce Mitchener reassigned AVRO-467:


Assignee: Bruce Mitchener

> Finish up CMake build system missing features
> -
>
> Key: AVRO-467
> URL: https://issues.apache.org/jira/browse/AVRO-467
> Project: Avro
>  Issue Type: Improvement
>  Components: c
>Affects Versions: 1.3.0
>    Reporter: Bruce Mitchener
>Assignee: Bruce Mitchener
>
> Placeholder bug to serve as a parent for all of the various remaining tasks 
> for the CMake build system.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Assigned: (AVRO-468) Document usage of the CMake build system

2010-03-16 Thread Bruce Mitchener (JIRA)

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

Bruce Mitchener reassigned AVRO-468:


Assignee: Bruce Mitchener

> Document usage of the CMake build system
> 
>
> Key: AVRO-468
> URL: https://issues.apache.org/jira/browse/AVRO-468
> Project: Avro
>  Issue Type: Sub-task
>  Components: c
>    Reporter: Bruce Mitchener
>    Assignee: Bruce Mitchener
>
> We need to document how to use the CMake-based build system, including some 
> typical things like debug vs release vs release-with-debug-info builds.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Updated: (AVRO-468) CMake: Document usage of the CMake build system

2010-03-16 Thread Bruce Mitchener (JIRA)

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

Bruce Mitchener updated AVRO-468:
-

 Labels: cmake  (was: )
Summary: CMake: Document usage of the CMake build system  (was: Document 
usage of the CMake build system)

> CMake: Document usage of the CMake build system
> ---
>
> Key: AVRO-468
> URL: https://issues.apache.org/jira/browse/AVRO-468
> Project: Avro
>  Issue Type: Sub-task
>  Components: c
>    Reporter: Bruce Mitchener
>    Assignee: Bruce Mitchener
>
> We need to document how to use the CMake-based build system, including some 
> typical things like debug vs release vs release-with-debug-info builds.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Created: (AVRO-469) CMake: Support correct version numbers in the libraries

2010-03-16 Thread Bruce Mitchener (JIRA)
CMake: Support correct version numbers in the libraries
---

 Key: AVRO-469
 URL: https://issues.apache.org/jira/browse/AVRO-469
 Project: Avro
  Issue Type: Sub-task
  Components: c
Reporter: Bruce Mitchener
Assignee: Bruce Mitchener


We need to set both VERSION and SOVERSION correctly as the autotools build did.


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Created: (AVRO-470) CMake: Support building documentation

2010-03-16 Thread Bruce Mitchener (JIRA)
CMake: Support building documentation
-

 Key: AVRO-470
 URL: https://issues.apache.org/jira/browse/AVRO-470
 Project: Avro
  Issue Type: Sub-task
Reporter: Bruce Mitchener
Assignee: Bruce Mitchener


We need to either support asciidoc with a build target or we need to switch to 
Doxygen and support it.


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Created: (AVRO-472) CMake: Complete the pretty target

2010-03-16 Thread Bruce Mitchener (JIRA)
CMake: Complete the pretty target
-

 Key: AVRO-472
 URL: https://issues.apache.org/jira/browse/AVRO-472
 Project: Avro
  Issue Type: Sub-task
Reporter: Bruce Mitchener
Assignee: Bruce Mitchener


I don't think I implemented support for moving the ~ files as the autotools 
target did.


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Created: (AVRO-471) CMake: Support cscope target

2010-03-16 Thread Bruce Mitchener (JIRA)
CMake: Support cscope target


 Key: AVRO-471
 URL: https://issues.apache.org/jira/browse/AVRO-471
 Project: Avro
  Issue Type: Sub-task
  Components: c
Reporter: Bruce Mitchener
Assignee: Bruce Mitchener




-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Created: (AVRO-473) CMake: Look at running the JSON / Jansson tests

2010-03-16 Thread Bruce Mitchener (JIRA)
CMake: Look at running the JSON / Jansson tests
---

 Key: AVRO-473
 URL: https://issues.apache.org/jira/browse/AVRO-473
 Project: Avro
  Issue Type: Sub-task
  Components: c
Reporter: Bruce Mitchener
Assignee: Bruce Mitchener


We could run the Jansson tests for the JSON code ...


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Created: (AVRO-474) CMake: Add dist target

2010-03-16 Thread Bruce Mitchener (JIRA)
CMake: Add dist target
--

 Key: AVRO-474
 URL: https://issues.apache.org/jira/browse/AVRO-474
 Project: Avro
  Issue Type: Sub-task
  Components: c
Reporter: Bruce Mitchener
Assignee: Bruce Mitchener


We need a dist / distcheck target ...

Might be worth looking at this which does it:

http://bit.ly/d4emB8


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Created: (AVRO-475) CMake: What to do about config.h?

2010-03-16 Thread Bruce Mitchener (JIRA)
CMake: What to do about config.h?
-

 Key: AVRO-475
 URL: https://issues.apache.org/jira/browse/AVRO-475
 Project: Avro
  Issue Type: Sub-task
  Components: c
Reporter: Bruce Mitchener
Assignee: Bruce Mitchener


We need to decide what to do about config.h ... autotools is still generating 
one but we don't actually use it anywhere. I think we can safely just get rid 
of it entirely for now until we have a demonstrated need for it?


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Updated: (AVRO-467) CMake: Complete CMake build system and remove autotools build system

2010-03-16 Thread Bruce Mitchener (JIRA)

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

Bruce Mitchener updated AVRO-467:
-

 Labels: cmake  (was: )
Summary: CMake: Complete CMake build system and remove autotools build 
system  (was: Finish up CMake build system missing features)

> CMake: Complete CMake build system and remove autotools build system
> 
>
> Key: AVRO-467
> URL: https://issues.apache.org/jira/browse/AVRO-467
> Project: Avro
>  Issue Type: Improvement
>  Components: c
>Affects Versions: 1.3.0
>    Reporter: Bruce Mitchener
>Assignee: Bruce Mitchener
>
> Placeholder bug to serve as a parent for all of the various remaining tasks 
> for the CMake build system.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Created: (AVRO-476) Documentation: Replace asciidoc with Doxygen?

2010-03-16 Thread Bruce Mitchener (JIRA)
Documentation: Replace asciidoc with Doxygen?
-

 Key: AVRO-476
 URL: https://issues.apache.org/jira/browse/AVRO-476
 Project: Avro
  Issue Type: Improvement
  Components: c
Reporter: Bruce Mitchener


Doxygen is a lot more common, more likely to be installed and won't bring in a 
ton of extra dependencies to get it working...

Thoughts?


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Updated: (AVRO-470) CMake: Support building documentation

2010-03-16 Thread Bruce Mitchener (JIRA)

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

Bruce Mitchener updated AVRO-470:
-

Component/s: c

> CMake: Support building documentation
> -
>
> Key: AVRO-470
> URL: https://issues.apache.org/jira/browse/AVRO-470
> Project: Avro
>  Issue Type: Sub-task
>  Components: c
>    Reporter: Bruce Mitchener
>    Assignee: Bruce Mitchener
>
> We need to either support asciidoc with a build target or we need to switch 
> to Doxygen and support it.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Updated: (AVRO-472) CMake: Complete the pretty target

2010-03-16 Thread Bruce Mitchener (JIRA)

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

Bruce Mitchener updated AVRO-472:
-

Component/s: c

> CMake: Complete the pretty target
> -
>
> Key: AVRO-472
> URL: https://issues.apache.org/jira/browse/AVRO-472
> Project: Avro
>  Issue Type: Sub-task
>  Components: c
>    Reporter: Bruce Mitchener
>    Assignee: Bruce Mitchener
>
> I don't think I implemented support for moving the ~ files as the autotools 
> target did.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Created: (AVRO-477) Buildbots

2010-03-16 Thread Bruce Mitchener (JIRA)
Buildbots
-

 Key: AVRO-477
 URL: https://issues.apache.org/jira/browse/AVRO-477
 Project: Avro
  Issue Type: Wish
  Components: c
Reporter: Bruce Mitchener
Assignee: Matt Massie


I wish for buildbots!

See http://ci.apache.org/buildbot.html for more information about what Apache 
provides.

I would like to see one on each platform that they support building HEAD.


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Updated: (AVRO-451) Try to use hashlib in Python implementation and fall back to md5 if we can't find it

2010-03-16 Thread Bruce Mitchener (JIRA)

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

Bruce Mitchener updated AVRO-451:
-

Attachment: avro_python_hashlib.diff

Easy fix ...

> Try to use hashlib in Python implementation and fall back to md5 if we can't 
> find it
> 
>
> Key: AVRO-451
> URL: https://issues.apache.org/jira/browse/AVRO-451
> Project: Avro
>  Issue Type: Improvement
>  Components: python
>Affects Versions: 1.3.0
>Reporter: Jeff Hammerbacher
> Attachments: avro_python_hashlib.diff
>
>
> hashlib, new in 2.5, seems to be the better way to do things 
> (http://docs.python.org/library/hashlib.html). We want to support Python 2.4, 
> so the best way to handle this situation is to try to import hashlib and fall 
> back to md5 if we can't find it (similar to the json/simplejson dance).

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (AVRO-303) Regularly run Avro tests on little-endian and big-endian systems

2010-03-16 Thread Bruce Mitchener (JIRA)

[ 
https://issues.apache.org/jira/browse/AVRO-303?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12845769#action_12845769
 ] 

Bruce Mitchener commented on AVRO-303:
--

I've been talking with Massie about using Buildbot for Avro-C. 

This is in part due to the Buildbot infrastructure at Apache having broader 
platform support (FreeBSD, Solaris, a couple versions of Ubuntu, and Windows 
Server 2008 with Windows 7 on the way). 

I opened http://issues.apache.org/jira/browse/AVRO-477 to track this with 
Massie. 

> Regularly run Avro tests on little-endian and big-endian systems
> 
>
> Key: AVRO-303
> URL: https://issues.apache.org/jira/browse/AVRO-303
> Project: Avro
>  Issue Type: Test
>Reporter: Jeff Hammerbacher
>
> To ensure that Avro implementations are working correctly, it would be nice 
> to have a shared Avro infrastructure for testing that contains both a 
> big-endian and a little-endian system. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (AVRO-477) Buildbots

2010-03-16 Thread Bruce Mitchener (JIRA)

[ 
https://issues.apache.org/jira/browse/AVRO-477?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12846039#action_12846039
 ] 

Bruce Mitchener commented on AVRO-477:
--

Does Hudson have the same OS coverage that Buildbot does? (Will we be able to 
test builds on various Unix and Windows versions?)

If not, then we still need BuildBot.  There's probably no harm in having both 
Hudson for those who want that and Buildbot for those who need the additional 
coverage.


> Buildbots
> -
>
> Key: AVRO-477
> URL: https://issues.apache.org/jira/browse/AVRO-477
> Project: Avro
>  Issue Type: Wish
>  Components: c
>    Reporter: Bruce Mitchener
>Assignee: Matt Massie
>
> I wish for buildbots!
> See http://ci.apache.org/buildbot.html for more information about what Apache 
> provides.
> I would like to see one on each platform that they support building HEAD.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (AVRO-477) Buildbots

2010-03-16 Thread Bruce Mitchener (JIRA)

[ 
https://issues.apache.org/jira/browse/AVRO-477?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12846101#action_12846101
 ] 

Bruce Mitchener commented on AVRO-477:
--

I have filed https://issues.apache.org/jira/browse/INFRA-2548 to put in a 
request for the Buildbots after talking with Cutting on IRC.


> Buildbots
> -
>
> Key: AVRO-477
> URL: https://issues.apache.org/jira/browse/AVRO-477
> Project: Avro
>  Issue Type: Wish
>  Components: c
>    Reporter: Bruce Mitchener
>Assignee: Matt Massie
>
> I wish for buildbots!
> See http://ci.apache.org/buildbot.html for more information about what Apache 
> provides.
> I would like to see one on each platform that they support building HEAD.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Updated: (AVRO-477) Buildbots

2010-03-16 Thread Bruce Mitchener (JIRA)

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

Bruce Mitchener updated AVRO-477:
-

Component/s: python

> Buildbots
> -
>
> Key: AVRO-477
> URL: https://issues.apache.org/jira/browse/AVRO-477
> Project: Avro
>  Issue Type: Wish
>  Components: c, python
>    Reporter: Bruce Mitchener
>Assignee: Matt Massie
>
> I wish for buildbots!
> See http://ci.apache.org/buildbot.html for more information about what Apache 
> provides.
> I would like to see one on each platform that they support building HEAD.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Created: (AVRO-480) avro_flush() is in the header, but not implemented

2010-03-17 Thread Bruce Mitchener (JIRA)
avro_flush() is in the header, but not implemented
--

 Key: AVRO-480
 URL: https://issues.apache.org/jira/browse/AVRO-480
 Project: Avro
  Issue Type: Bug
  Components: c
Reporter: Bruce Mitchener
Assignee: Bruce Mitchener


avro_flush() is in the header, but not implemented.

Instead, should ditch that and move the 3 functions from avro_private.h out 
into avro.h


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Updated: (AVRO-418) avro.h generates errors when included in C++ code

2010-03-17 Thread Bruce Mitchener (JIRA)

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

Bruce Mitchener updated AVRO-418:
-

Fix Version/s: 1.3.1

> avro.h generates errors when included in C++ code
> -
>
> Key: AVRO-418
> URL: https://issues.apache.org/jira/browse/AVRO-418
> Project: Avro
>  Issue Type: Bug
>  Components: c
>Reporter: Matt Massie
>    Assignee: Bruce Mitchener
> Fix For: 1.3.1
>
> Attachments: AVRO-418.patch, avro_build_with_cpp.diff
>
>
> avro.h cannot be included in C++ code without errors

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Updated: (AVRO-449) CMake-based build system for Avro/C

2010-03-17 Thread Bruce Mitchener (JIRA)

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

Bruce Mitchener updated AVRO-449:
-

Fix Version/s: 1.3.1

> CMake-based build system for Avro/C
> ---
>
> Key: AVRO-449
> URL: https://issues.apache.org/jira/browse/AVRO-449
> Project: Avro
>  Issue Type: New Feature
>  Components: c
>Affects Versions: 1.3.0
>    Reporter: Bruce Mitchener
>Assignee: Bruce Mitchener
> Fix For: 1.3.1
>
> Attachments: avro_cmake.diff
>
>
> I am working on a CMake-based build system for Avro/C.  This has these 
> advantages over the current autoconf build system:
>  * Easier to get features like universal binaries correct.
>  * Works on Windows to make it easier to work on a Windows port of Avro/C.
>  * Lets us generate project files for Visual Studio and XCode.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Updated: (AVRO-480) avro_flush() is in the header, but not implemented

2010-03-17 Thread Bruce Mitchener (JIRA)

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

Bruce Mitchener updated AVRO-480:
-

Attachment: avro_flush.diff

> avro_flush() is in the header, but not implemented
> --
>
> Key: AVRO-480
> URL: https://issues.apache.org/jira/browse/AVRO-480
> Project: Avro
>  Issue Type: Bug
>  Components: c
>    Reporter: Bruce Mitchener
>    Assignee: Bruce Mitchener
> Attachments: avro_flush.diff
>
>
> avro_flush() is in the header, but not implemented.
> Instead, should ditch that and move the 3 functions from avro_private.h out 
> into avro.h

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Updated: (AVRO-449) CMake-based build system for Avro/C

2010-03-17 Thread Bruce Mitchener (JIRA)

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

Bruce Mitchener updated AVRO-449:
-

Fix Version/s: (was: 1.3.1)
   1.3.2

> CMake-based build system for Avro/C
> ---
>
> Key: AVRO-449
> URL: https://issues.apache.org/jira/browse/AVRO-449
> Project: Avro
>  Issue Type: New Feature
>  Components: c
>Affects Versions: 1.3.0
>    Reporter: Bruce Mitchener
>Assignee: Bruce Mitchener
> Fix For: 1.3.2
>
> Attachments: avro_cmake.diff
>
>
> I am working on a CMake-based build system for Avro/C.  This has these 
> advantages over the current autoconf build system:
>  * Easier to get features like universal binaries correct.
>  * Works on Windows to make it easier to work on a Windows port of Avro/C.
>  * Lets us generate project files for Visual Studio and XCode.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Updated: (AVRO-418) avro.h generates errors when included in C++ code

2010-03-17 Thread Bruce Mitchener (JIRA)

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

Bruce Mitchener updated AVRO-418:
-

Fix Version/s: (was: 1.3.1)
   1.3.2

> avro.h generates errors when included in C++ code
> -
>
> Key: AVRO-418
> URL: https://issues.apache.org/jira/browse/AVRO-418
> Project: Avro
>  Issue Type: Bug
>  Components: c
>Reporter: Matt Massie
>    Assignee: Bruce Mitchener
> Fix For: 1.3.2
>
> Attachments: AVRO-418.patch, avro_build_with_cpp.diff
>
>
> avro.h cannot be included in C++ code without errors

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Created: (AVRO-481) Buildbot warning fixes

2010-03-18 Thread Bruce Mitchener (JIRA)
Buildbot warning fixes
--

 Key: AVRO-481
 URL: https://issues.apache.org/jira/browse/AVRO-481
 Project: Avro
  Issue Type: Improvement
  Components: c
Reporter: Bruce Mitchener
Assignee: Bruce Mitchener
 Fix For: 1.3.2


Patching coming shortly...

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Updated: (AVRO-481) Buildbot warning fixes

2010-03-18 Thread Bruce Mitchener (JIRA)

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

Bruce Mitchener updated AVRO-481:
-

Attachment: avro_481.diff

> Buildbot warning fixes
> --
>
> Key: AVRO-481
> URL: https://issues.apache.org/jira/browse/AVRO-481
> Project: Avro
>  Issue Type: Improvement
>  Components: c
>    Reporter: Bruce Mitchener
>    Assignee: Bruce Mitchener
> Fix For: 1.3.2
>
> Attachments: avro_481.diff
>
>
> Patching coming shortly...

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (AVRO-477) Buildbots

2010-03-18 Thread Bruce Mitchener (JIRA)

[ 
https://issues.apache.org/jira/browse/AVRO-477?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12847000#action_12847000
 ] 

Bruce Mitchener commented on AVRO-477:
--

We now have buildbot coverage on Ubuntu 9.10, Solaris and FreeBSD for C and 
Ubuntu 9.10 for Python ... I think we can close this now.


> Buildbots
> -
>
> Key: AVRO-477
> URL: https://issues.apache.org/jira/browse/AVRO-477
> Project: Avro
>  Issue Type: Wish
>  Components: c, python
>    Reporter: Bruce Mitchener
>Assignee: Matt Massie
>
> I wish for buildbots!
> See http://ci.apache.org/buildbot.html for more information about what Apache 
> provides.
> I would like to see one on each platform that they support building HEAD.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Created: (AVRO-485) JavaScript encoding/decoding

2010-03-19 Thread Bruce Mitchener (JIRA)
JavaScript encoding/decoding


 Key: AVRO-485
 URL: https://issues.apache.org/jira/browse/AVRO-485
 Project: Avro
  Issue Type: Wish
Reporter: Bruce Mitchener


It would be very nice to have Javascript encoding/decoding support.  There are 
at least a couple of interested in streaming Avro-encoded data to a 
browser-based client.

Working with binary data in JS is a bit ugly ... here's a sample:

http://github.com/christkv/node-mongodb-native/blob/master/lib/mongodb/bson/binary_parser.js


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (AVRO-485) JavaScript encoding/decoding

2010-03-22 Thread Bruce Mitchener (JIRA)

[ 
https://issues.apache.org/jira/browse/AVRO-485?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12848053#action_12848053
 ] 

Bruce Mitchener commented on AVRO-485:
--

I started this ... my work on it can be found here on my experimental I/O 
branch that I'm using for changes to Avro-C on Github:

http://github.com/waywardmonkeys/avro/tree/experimental_io/lang/js/

Feel free to help out with this.


> JavaScript encoding/decoding
> 
>
> Key: AVRO-485
> URL: https://issues.apache.org/jira/browse/AVRO-485
> Project: Avro
>  Issue Type: Wish
>Reporter: Bruce Mitchener
>
> It would be very nice to have Javascript encoding/decoding support.  There 
> are at least a couple of interested in streaming Avro-encoded data to a 
> browser-based client.
> Working with binary data in JS is a bit ugly ... here's a sample:
> http://github.com/christkv/node-mongodb-native/blob/master/lib/mongodb/bson/binary_parser.js

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (AVRO-285) request-only messages

2010-03-23 Thread Bruce Mitchener (JIRA)

[ 
https://issues.apache.org/jira/browse/AVRO-285?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12848775#action_12848775
 ] 

Bruce Mitchener commented on AVRO-285:
--

I'd very much like to see this ... any chance? What needs to be done to bring 
this closer to fruition?


> request-only messages
> -
>
> Key: AVRO-285
> URL: https://issues.apache.org/jira/browse/AVRO-285
> Project: Avro
>  Issue Type: New Feature
>  Components: spec
>Reporter: Doug Cutting
>
> It might be useful to have a standard mechanism in Avro for transmitting 
> messages that receive no response, not even an acknowledgement.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (AVRO-492) python implementation should encode numbers as little-endian

2010-03-26 Thread Bruce Mitchener (JIRA)

[ 
https://issues.apache.org/jira/browse/AVRO-492?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12850455#action_12850455
 ] 

Bruce Mitchener commented on AVRO-492:
--

STRUCT_INT and STRUCT_LONG are only used in the process of handling floats and 
doubles.

The interop testing just tests that the file could be read ... it won't test 
that the data came through correctly currently.  If there was an error in 
something like integer/long encoding/decoding, it would show up due to the 
other things that use that (like strings) that would fail were it wrong.

The interop tests need to be modified so that at least some of the fields being 
serialized and read back in have the same value for each language and can be 
verified in each test that reads in the interop data.

Make sense?


> python implementation should encode numbers as little-endian
> 
>
> Key: AVRO-492
> URL: https://issues.apache.org/jira/browse/AVRO-492
> Project: Avro
>  Issue Type: Bug
>  Components: python
>Affects Versions: 1.3.1
>Reporter: Jeff Hodges
>Assignee: Jeff Hodges
> Attachments: AVRO-492.patch
>
>
> The current version of the Python implementation uses big-endian encoding 
> when writing and reading numeric data. The spec specifies that little-endian 
> encoding should be used instead[1]. 
> [1] 
> http://hadoop.apache.org/avro/docs/current/spec.html#binary_encode_primitive 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (AVRO-230) Create a shared schema test directory structure

2010-03-26 Thread Bruce Mitchener (JIRA)

[ 
https://issues.apache.org/jira/browse/AVRO-230?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12850458#action_12850458
 ] 

Bruce Mitchener commented on AVRO-230:
--

We need at least a simple version of this sooner rather than later (we aren't 
currently doing correct interop testing of the actual values of floats, doubles 
and such).

We can have things without random data involved and a static directory of known 
values that we can write tests to work against, no?

Keeping it simple would mean that someone could start knocking out some basic 
examples in an hour or two and then we'd just need a reader in each langauge to 
verify.


> Create a shared schema test directory structure
> ---
>
> Key: AVRO-230
> URL: https://issues.apache.org/jira/browse/AVRO-230
> Project: Avro
>  Issue Type: New Feature
>  Components: c, c++, java, python
>Reporter: Matt Massie
>Assignee: Matt Massie
>
> This is an example of my proposed directory structure:
> * invalid_schemas/
> ** broken.json
> ** wrong.json
> * valid_data/
> ** foo_test/
> *** schema.json
> *** json_data/
>  valid_json_test_data.json
>  more_valid_json_test_data.json
> *** binary_data/
>  valid_binary_test_data.bin
>  more_test_data.bin
> ** bar_test/
> *** schema.json
> *** json_data/
>  ...
> * invalid_data/
> ** baz_test/
> *** schema.json
> *** json_data/
>  ...
> *** binary_data/
>  ...
> This structure supports positive and negative tests for avro schemas, json 
> data and binary data.
> * The "invalid_schema" directory holds a number of invalid schemas that 
> should fail to parse.
> * The "valid_data" directory has a number of self-contained tests in separate 
> directories.  Each test directory is required to have a "schema.json" file 
> that valid avro schema.  The "json_data" and "binary_data" directories are 
> optional for each test.
> * The "invalid_data" directory has the same rules as the "valid_data" 
> directory.  The data files should fail during tests (negative testing).

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Updated: (AVRO-501) missing function in C api to access array elements after decoding an array.

2010-04-03 Thread Bruce Mitchener (JIRA)

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

Bruce Mitchener updated AVRO-501:
-

Attachment: avro_array_get.diff

> missing function in C api to access array elements after decoding an array.
> ---
>
> Key: AVRO-501
> URL: https://issues.apache.org/jira/browse/AVRO-501
> Project: Avro
>  Issue Type: Bug
>  Components: c
>Affects Versions: 1.3.2
>Reporter: Robert G. Jakabosky
>Assignee: Bruce Mitchener
> Attachments: avro_array_get.diff
>
>
> The C Api has no function for accessing the element in an array datum.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Assigned: (AVRO-501) missing function in C api to access array elements after decoding an array.

2010-04-03 Thread Bruce Mitchener (JIRA)

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

Bruce Mitchener reassigned AVRO-501:


Assignee: Bruce Mitchener

> missing function in C api to access array elements after decoding an array.
> ---
>
> Key: AVRO-501
> URL: https://issues.apache.org/jira/browse/AVRO-501
> Project: Avro
>  Issue Type: Bug
>  Components: c
>Affects Versions: 1.3.2
>Reporter: Robert G. Jakabosky
>Assignee: Bruce Mitchener
> Attachments: avro_array_get.diff
>
>
> The C Api has no function for accessing the element in an array datum.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (AVRO-501) missing function in C api to access array elements after decoding an array.

2010-04-03 Thread Bruce Mitchener (JIRA)

[ 
https://issues.apache.org/jira/browse/AVRO-501?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12853136#action_12853136
 ] 

Bruce Mitchener commented on AVRO-501:
--

The attached patch is not sufficient to really address everything required ... 
more in another comment.

> missing function in C api to access array elements after decoding an array.
> ---
>
> Key: AVRO-501
> URL: https://issues.apache.org/jira/browse/AVRO-501
> Project: Avro
>  Issue Type: Bug
>  Components: c
>Affects Versions: 1.3.2
>Reporter: Robert G. Jakabosky
>Assignee: Bruce Mitchener
> Attachments: avro_array_get.diff
>
>
> The C Api has no function for accessing the element in an array datum.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (AVRO-501) missing function in C api to access array elements after decoding an array.

2010-04-04 Thread Bruce Mitchener (JIRA)

[ 
https://issues.apache.org/jira/browse/AVRO-501?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12853263#action_12853263
 ] 

Bruce Mitchener commented on AVRO-501:
--

This patch is not sufficient ...

We also need to provide read access to the length ...

And similar stuff for unions, we need to provide read access to the 
discriminant and the value.

I'd talked about this some with the reporter, but haven't gotten around to 
doing the patch yet.


> missing function in C api to access array elements after decoding an array.
> ---
>
> Key: AVRO-501
> URL: https://issues.apache.org/jira/browse/AVRO-501
> Project: Avro
>  Issue Type: Bug
>  Components: c
>Affects Versions: 1.3.2
>Reporter: Robert G. Jakabosky
>Assignee: Bruce Mitchener
> Attachments: avro_array_get.diff
>
>
> The C Api has no function for accessing the element in an array datum.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Reopened: (AVRO-501) missing function in C api to access array elements after decoding an array.

2010-04-04 Thread Bruce Mitchener (JIRA)

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

Bruce Mitchener reopened AVRO-501:
--


As per my last comment...

> missing function in C api to access array elements after decoding an array.
> ---
>
> Key: AVRO-501
> URL: https://issues.apache.org/jira/browse/AVRO-501
> Project: Avro
>  Issue Type: Bug
>  Components: c
>Affects Versions: 1.3.2
>Reporter: Robert G. Jakabosky
>Assignee: Bruce Mitchener
> Attachments: avro_array_get.diff
>
>
> The C Api has no function for accessing the element in an array datum.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.