[jira] Created: (AVRO-42) C++ avro

2009-06-01 Thread Scott Banachowski (JIRA)
C++ avro


 Key: AVRO-42
 URL: https://issues.apache.org/jira/browse/AVRO-42
 Project: Avro
  Issue Type: New Feature
Reporter: Scott Banachowski
Priority: Minor


I have a C++ implementation for Avro to contribute.  I opened this issue to 
submit a patch.

Overview:
Serializer/Parser- objects for writing/reading raw binary.
xxxSchema- objects for composing schemas.
ValidSchema- a schema object that has been converted to a parse tree (with some 
sanity checks).
ValidSchema.toJson() writes the schema as a json object.
ValidatingSerializer/ValidatingParser-  check that reads/writes match the 
expected schema type (more expensive than the raw serializer/parser but they 
detect errors, and allow dynamic discovery of parsed data/attributes).
Compiler (compileJsonSchema())-  converts a Json string schema to a ValidSchema.
Code Generation (experimental) - given a schema it generates C++ objects of the 
same data types, and the code to serialize and parse it.

What's missing: Defaults are not yet supported.  Resolving schema conflicts is 
not yet supported.  And the file and rpc containers are not yet implemented.  
Documentation, sparse.  

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



[jira] Updated: (AVRO-42) C++ avro

2009-06-01 Thread Scott Banachowski (JIRA)

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

Scott Banachowski updated AVRO-42:
--

Attachment: AVRO-42.patch

Initial code patch, added to src/c++


> C++ avro
> 
>
> Key: AVRO-42
> URL: https://issues.apache.org/jira/browse/AVRO-42
> Project: Avro
>  Issue Type: New Feature
>Reporter: Scott Banachowski
>Priority: Minor
> Attachments: AVRO-42.patch
>
>
> I have a C++ implementation for Avro to contribute.  I opened this issue to 
> submit a patch.
> Overview:
> Serializer/Parser- objects for writing/reading raw binary.
> xxxSchema- objects for composing schemas.
> ValidSchema- a schema object that has been converted to a parse tree (with 
> some sanity checks).
> ValidSchema.toJson() writes the schema as a json object.
> ValidatingSerializer/ValidatingParser-  check that reads/writes match the 
> expected schema type (more expensive than the raw serializer/parser but they 
> detect errors, and allow dynamic discovery of parsed data/attributes).
> Compiler (compileJsonSchema())-  converts a Json string schema to a 
> ValidSchema.
> Code Generation (experimental) - given a schema it generates C++ objects of 
> the same data types, and the code to serialize and parse it.
> What's missing: Defaults are not yet supported.  Resolving schema conflicts 
> is not yet supported.  And the file and rpc containers are not yet 
> implemented.  Documentation, sparse.  

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



[jira] Commented: (AVRO-42) C++ avro

2009-06-02 Thread Scott Banachowski (JIRA)

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

Scott Banachowski commented on AVRO-42:
---

Oops, the patch didn't add an obj directory, which the make file expected to 
already exist.  Sorry about that, try 'mkdir obj' in that directory and make 
again.


> C++ avro
> 
>
> Key: AVRO-42
> URL: https://issues.apache.org/jira/browse/AVRO-42
> Project: Avro
>  Issue Type: New Feature
>  Components: c++
>Reporter: Scott Banachowski
>Assignee: Scott Banachowski
>Priority: Minor
> Attachments: AVRO-42.patch
>
>
> I have a C++ implementation for Avro to contribute.  I opened this issue to 
> submit a patch.
> Overview:
> Serializer/Parser- objects for writing/reading raw binary.
> xxxSchema- objects for composing schemas.
> ValidSchema- a schema object that has been converted to a parse tree (with 
> some sanity checks).
> ValidSchema.toJson() writes the schema as a json object.
> ValidatingSerializer/ValidatingParser-  check that reads/writes match the 
> expected schema type (more expensive than the raw serializer/parser but they 
> detect errors, and allow dynamic discovery of parsed data/attributes).
> Compiler (compileJsonSchema())-  converts a Json string schema to a 
> ValidSchema.
> Code Generation (experimental) - given a schema it generates C++ objects of 
> the same data types, and the code to serialize and parse it.
> What's missing: Defaults are not yet supported.  Resolving schema conflicts 
> is not yet supported.  And the file and rpc containers are not yet 
> implemented.  Documentation, sparse.  

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



[jira] Commented: (AVRO-42) C++ avro

2009-06-02 Thread Scott Banachowski (JIRA)

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

Scott Banachowski commented on AVRO-42:
---

I discovered one other step after applying the patch, you'll need to 'chmod +x 
scripts/gen.py'



> C++ avro
> 
>
> Key: AVRO-42
> URL: https://issues.apache.org/jira/browse/AVRO-42
> Project: Avro
>  Issue Type: New Feature
>  Components: c++
>Reporter: Scott Banachowski
>Assignee: Scott Banachowski
>Priority: Minor
> Attachments: AVRO-42.patch
>
>
> I have a C++ implementation for Avro to contribute.  I opened this issue to 
> submit a patch.
> Overview:
> Serializer/Parser- objects for writing/reading raw binary.
> xxxSchema- objects for composing schemas.
> ValidSchema- a schema object that has been converted to a parse tree (with 
> some sanity checks).
> ValidSchema.toJson() writes the schema as a json object.
> ValidatingSerializer/ValidatingParser-  check that reads/writes match the 
> expected schema type (more expensive than the raw serializer/parser but they 
> detect errors, and allow dynamic discovery of parsed data/attributes).
> Compiler (compileJsonSchema())-  converts a Json string schema to a 
> ValidSchema.
> Code Generation (experimental) - given a schema it generates C++ objects of 
> the same data types, and the code to serialize and parse it.
> What's missing: Defaults are not yet supported.  Resolving schema conflicts 
> is not yet supported.  And the file and rpc containers are not yet 
> implemented.  Documentation, sparse.  

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



[jira] Commented: (AVRO-42) C++ avro

2009-06-02 Thread Scott Banachowski (JIRA)

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

Scott Banachowski commented on AVRO-42:
---

There must be a difference in gcc compilers.  Mine doesn't seem to care about 
"#include " and must include it implicitly.  It's possible there are 
other includes, such as string, that I know are implicit but other compilers 
may care about.  I've tested it with two versions, both of which were > 4.

You can add #include to the top of api/NodeImpl.hh... but I don't know 
if you will just encounter the next thing.  In the meantime, let me see if i 
can try some other gcc versions, and create a new patch with the fixes.

> C++ avro
> 
>
> Key: AVRO-42
> URL: https://issues.apache.org/jira/browse/AVRO-42
> Project: Avro
>  Issue Type: New Feature
>  Components: c++
>Reporter: Scott Banachowski
>Assignee: Scott Banachowski
>Priority: Minor
> Attachments: AVRO-42.patch
>
>
> I have a C++ implementation for Avro to contribute.  I opened this issue to 
> submit a patch.
> Overview:
> Serializer/Parser- objects for writing/reading raw binary.
> xxxSchema- objects for composing schemas.
> ValidSchema- a schema object that has been converted to a parse tree (with 
> some sanity checks).
> ValidSchema.toJson() writes the schema as a json object.
> ValidatingSerializer/ValidatingParser-  check that reads/writes match the 
> expected schema type (more expensive than the raw serializer/parser but they 
> detect errors, and allow dynamic discovery of parsed data/attributes).
> Compiler (compileJsonSchema())-  converts a Json string schema to a 
> ValidSchema.
> Code Generation (experimental) - given a schema it generates C++ objects of 
> the same data types, and the code to serialize and parse it.
> What's missing: Defaults are not yet supported.  Resolving schema conflicts 
> is not yet supported.  And the file and rpc containers are not yet 
> implemented.  Documentation, sparse.  

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



[jira] Created: (AVRO-45) python script is not executable by default

2009-06-02 Thread Scott Banachowski (JIRA)
python script is not executable by default
--

 Key: AVRO-45
 URL: https://issues.apache.org/jira/browse/AVRO-45
 Project: Avro
  Issue Type: Bug
  Components: c++
Reporter: Scott Banachowski


When checking out the code from svn, the python script used for code generation 
is not executable.  This causes make, which invokes the script, to fail.

This change will invoke it from python instead of from the shell (e.g. "gen.py" 
is now "python gen.py").  

Also in this patch, some of the README.txt notes were changed.

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



[jira] Updated: (AVRO-45) python script is not executable by default

2009-06-02 Thread Scott Banachowski (JIRA)

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

Scott Banachowski updated AVRO-45:
--

Attachment: AVRO-45.patch

change to Makefile and README.txt

> python script is not executable by default
> --
>
> Key: AVRO-45
> URL: https://issues.apache.org/jira/browse/AVRO-45
> Project: Avro
>  Issue Type: Bug
>  Components: c++
>Reporter: Scott Banachowski
> Attachments: AVRO-45.patch
>
>
> When checking out the code from svn, the python script used for code 
> generation is not executable.  This causes make, which invokes the script, to 
> fail.
> This change will invoke it from python instead of from the shell (e.g. 
> "gen.py" is now "python gen.py").  
> Also in this patch, some of the README.txt notes were changed.

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



[jira] Commented: (AVRO-58) JSON Parser for C

2009-06-20 Thread Scott Banachowski (JIRA)

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

Scott Banachowski commented on AVRO-58:
---

Will this parser be able to work for the C++ version as well?  Currently C++ is 
using bison/flex, but we should leverage the same parser for both if possible.


> JSON Parser for C
> -
>
> Key: AVRO-58
> URL: https://issues.apache.org/jira/browse/AVRO-58
> Project: Avro
>  Issue Type: New Feature
>  Components: c
>Reporter: Matt Massie
> Attachments: AVRO-58.patch
>
>
> Embedded JSON Parser for C
> * Re-entrant and thread safe
> * Supports multiple parsers running at the same time
> * Uses APR memory pools for memory management
> * No dependencies on yacc/bison/flex/etc
> * Creates a light-weight DOM of JSON text
> * Completely written by me so there's no licensing issues (using the public 
> domain lemon code generator)

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



[jira] Created: (AVRO-59) proposal to make some C++ object APIs more generic

2009-06-20 Thread Scott Banachowski (JIRA)
proposal to make some C++ object APIs more generic
--

 Key: AVRO-59
 URL: https://issues.apache.org/jira/browse/AVRO-59
 Project: Avro
  Issue Type: Improvement
  Components: c++
Reporter: Scott Banachowski


This is a patch I made for the serializer.  In the original version, the 
Serializer object has functions like putInt(), putLong(),..., i.e. each put* 
function has a different name.  

This is not convenient for generic template code, because each type requires a 
different function call.  I moved the Serializer code to a class called Writer, 
that has only putValue overridden for each type, e.g. putValue(int32_t), 
putValue(int64_t), putValue(bool) etc.

Generic code, such as in AvroSerializer.hh can use the generic API.  To 
preserve the explicit calls, Serializer still exists, but has become a thin 
wrapper for Writer.  The explicit calls are still useful for when you don't 
want implicit conversion to accidentally choose the wrong type.



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



[jira] Updated: (AVRO-59) proposal to make some C++ object APIs more generic

2009-06-20 Thread Scott Banachowski (JIRA)

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

Scott Banachowski updated AVRO-59:
--

Attachment: AVRO-59.patch

Here is the patch.  Currently the changes are only applied to the serializer 
side, but the same can be applied to the parser side since they are symmetric. 

I will likewise change the parser side if people think this is a reasonable 
approach.


> proposal to make some C++ object APIs more generic
> --
>
> Key: AVRO-59
> URL: https://issues.apache.org/jira/browse/AVRO-59
> Project: Avro
>  Issue Type: Improvement
>  Components: c++
>Reporter: Scott Banachowski
> Attachments: AVRO-59.patch
>
>
> This is a patch I made for the serializer.  In the original version, the 
> Serializer object has functions like putInt(), putLong(),..., i.e. each put* 
> function has a different name.  
> This is not convenient for generic template code, because each type requires 
> a different function call.  I moved the Serializer code to a class called 
> Writer, that has only putValue overridden for each type, e.g. 
> putValue(int32_t), putValue(int64_t), putValue(bool) etc.
> Generic code, such as in AvroSerializer.hh can use the generic API.  To 
> preserve the explicit calls, Serializer still exists, but has become a thin 
> wrapper for Writer.  The explicit calls are still useful for when you don't 
> want implicit conversion to accidentally choose the wrong type.

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



[jira] Commented: (AVRO-58) JSON Parser for C

2009-06-20 Thread Scott Banachowski (JIRA)

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

Scott Banachowski commented on AVRO-58:
---

Sounds good.  Will investigate using your parser for future revisions, thanks 
Matt.

By the way, I did not have a version of flex/bison with "pure" option, so I 
found another way to get re-entrancy is the c++ option.  With that, it puts all 
the context into a class instead of static vars, so you can create multiple 
independent instances (which is the approach I used, of course that option 
doesn't help in the C case).

 

> JSON Parser for C
> -
>
> Key: AVRO-58
> URL: https://issues.apache.org/jira/browse/AVRO-58
> Project: Avro
>  Issue Type: New Feature
>  Components: c
>Reporter: Matt Massie
> Attachments: AVRO-58.patch
>
>
> Embedded JSON Parser for C
> * Re-entrant and thread safe
> * Supports multiple parsers running at the same time
> * Uses APR memory pools for memory management
> * No dependencies on yacc/bison/flex/etc
> * Creates a light-weight DOM of JSON text
> * Completely written by me so there's no licensing issues (using the public 
> domain lemon code generator)

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



[jira] Created: (AVRO-71) Followup - making some C++ object APIs more generic

2009-07-03 Thread Scott Banachowski (JIRA)
Followup - making some C++ object APIs more generic
---

 Key: AVRO-71
 URL: https://issues.apache.org/jira/browse/AVRO-71
 Project: Avro
  Issue Type: Improvement
  Components: c++
Reporter: Scott Banachowski
Assignee: Scott Banachowski
 Fix For: 1.0.0


This is a patch I made for the serializer.  In the original version, the 
Serializer object has functions like putInt(), putLong(),..., i.e. each put* 
function has a different name.  

This is not convenient for generic template code, because each type requires a 
different function call.  I moved the Serializer code to a class called Writer, 
that has only putValue overridden for each type, e.g. putValue(int32_t), 
putValue(int64_t), putValue(bool) etc.

Generic code, such as in AvroSerializer.hh can use the generic API.  To 
preserve the explicit calls, Serializer still exists, but has become a thin 
wrapper for Writer.  The explicit calls are still useful for when you don't 
want implicit conversion to accidentally choose the wrong type.



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



[jira] Updated: (AVRO-71) Followup - making some C++ object APIs more generic

2009-07-03 Thread Scott Banachowski (JIRA)

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

Scott Banachowski updated AVRO-71:
--

Description: 
This is a followup to issue AVRO-59.  In that change, a more generic version of 
Writer class was created to support templates.
I now have done the same kind of refactor for the Reader version, to make 
Reader and Writer more symmetric.



  was:
This is a patch I made for the serializer.  In the original version, the 
Serializer object has functions like putInt(), putLong(),..., i.e. each put* 
function has a different name.  

This is not convenient for generic template code, because each type requires a 
different function call.  I moved the Serializer code to a class called Writer, 
that has only putValue overridden for each type, e.g. putValue(int32_t), 
putValue(int64_t), putValue(bool) etc.

Generic code, such as in AvroSerializer.hh can use the generic API.  To 
preserve the explicit calls, Serializer still exists, but has become a thin 
wrapper for Writer.  The explicit calls are still useful for when you don't 
want implicit conversion to accidentally choose the wrong type.




> Followup - making some C++ object APIs more generic
> ---
>
> Key: AVRO-71
> URL: https://issues.apache.org/jira/browse/AVRO-71
> Project: Avro
>  Issue Type: Improvement
>  Components: c++
>Reporter: Scott Banachowski
>Assignee: Scott Banachowski
> Fix For: 1.0.0
>
>
> This is a followup to issue AVRO-59.  In that change, a more generic version 
> of Writer class was created to support templates.
> I now have done the same kind of refactor for the Reader version, to make 
> Reader and Writer more symmetric.

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



[jira] Updated: (AVRO-71) Followup - making some C++ object APIs more generic

2009-07-03 Thread Scott Banachowski (JIRA)

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

Scott Banachowski updated AVRO-71:
--

Status: Patch Available  (was: Open)

> Followup - making some C++ object APIs more generic
> ---
>
> Key: AVRO-71
> URL: https://issues.apache.org/jira/browse/AVRO-71
> Project: Avro
>  Issue Type: Improvement
>  Components: c++
>Reporter: Scott Banachowski
>Assignee: Scott Banachowski
> Fix For: 1.0.0
>
> Attachments: AVRO-71.patch
>
>
> This is a followup to issue AVRO-59.  In that change, a more generic version 
> of Writer class was created to support templates.
> I now have done the same kind of refactor for the Reader version, to make 
> Reader and Writer more symmetric.

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



[jira] Updated: (AVRO-71) Followup - making some C++ object APIs more generic

2009-07-03 Thread Scott Banachowski (JIRA)

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

Scott Banachowski updated AVRO-71:
--

Attachment: AVRO-71.patch

This is the svn diff for the patch.

Last time I renamed files in a patch, in the repository it left 0 size files 
instead of removing them.
This patch has also renamed files, so after applying the patch, if any 0 size 
files remain instead of getting deleted, please remove them.


> Followup - making some C++ object APIs more generic
> ---
>
> Key: AVRO-71
> URL: https://issues.apache.org/jira/browse/AVRO-71
> Project: Avro
>  Issue Type: Improvement
>  Components: c++
>Reporter: Scott Banachowski
>Assignee: Scott Banachowski
> Fix For: 1.0.0
>
> Attachments: AVRO-71.patch
>
>
> This is a followup to issue AVRO-59.  In that change, a more generic version 
> of Writer class was created to support templates.
> I now have done the same kind of refactor for the Reader version, to make 
> Reader and Writer more symmetric.

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



[jira] Updated: (AVRO-71) Followup - making some C++ object APIs more generic

2009-07-05 Thread Scott Banachowski (JIRA)

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

Scott Banachowski updated AVRO-71:
--

Attachment: (was: AVRO-71.patch)

> Followup - making some C++ object APIs more generic
> ---
>
> Key: AVRO-71
> URL: https://issues.apache.org/jira/browse/AVRO-71
> Project: Avro
>  Issue Type: Improvement
>  Components: c++
>Reporter: Scott Banachowski
>Assignee: Scott Banachowski
> Attachments: AVRO-71.patch
>
>
> This is a followup to issue AVRO-59.  In that change, a more generic version 
> of Writer class was created to support templates.
> I now have done the same kind of refactor for the Reader version, to make 
> Reader and Writer more symmetric.

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



[jira] Updated: (AVRO-71) Followup - making some C++ object APIs more generic

2009-07-05 Thread Scott Banachowski (JIRA)

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

Scott Banachowski updated AVRO-71:
--

Attachment: AVRO-71.patch

Updated patch

> Followup - making some C++ object APIs more generic
> ---
>
> Key: AVRO-71
> URL: https://issues.apache.org/jira/browse/AVRO-71
> Project: Avro
>  Issue Type: Improvement
>  Components: c++
>Reporter: Scott Banachowski
>Assignee: Scott Banachowski
> Attachments: AVRO-71.patch
>
>
> This is a followup to issue AVRO-59.  In that change, a more generic version 
> of Writer class was created to support templates.
> I now have done the same kind of refactor for the Reader version, to make 
> Reader and Writer more symmetric.

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



[jira] Commented: (AVRO-71) Followup - making some C++ object APIs more generic

2009-07-05 Thread Scott Banachowski (JIRA)

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

Scott Banachowski commented on AVRO-71:
---

I made the patch again (the original patch was missing Reader.hh but shouldn't 
have been missing ValidatingReader.hh).  

When I made the patch this time, svn diff reports:

[liedriveglad-lm ~/avro-trunk] svn status -q
M  src/c++/test/unittest.cc
M  src/c++/test/testgen.cc
D  src/c++/impl/ValidatingSerializer.cc
D  src/c++/impl/ValidatingParser.cc
A  +   src/c++/impl/ValidatingReader.cc
M  src/c++/api/Parser.hh
D  src/c++/api/ValidatingParser.hh
A  src/c++/api/Reader.hh
M  src/c++/api/AvroParse.hh
A  +   src/c++/api/ValidatingReader.hh
M  src/c++/api/ValidatingWriter.hh
M  src/c++/Makefile

Hopefully, applying it should add Reader.hh and ValidatingReader.cc/hh and 
remove ValidatingParser.cc/hh and ValidatingSerializer.cc



> Followup - making some C++ object APIs more generic
> ---
>
> Key: AVRO-71
> URL: https://issues.apache.org/jira/browse/AVRO-71
> Project: Avro
>  Issue Type: Improvement
>  Components: c++
>Reporter: Scott Banachowski
>Assignee: Scott Banachowski
> Attachments: AVRO-71.patch
>
>
> This is a followup to issue AVRO-59.  In that change, a more generic version 
> of Writer class was created to support templates.
> I now have done the same kind of refactor for the Reader version, to make 
> Reader and Writer more symmetric.

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



[jira] Updated: (AVRO-71) Followup - making some C++ object APIs more generic

2009-07-09 Thread Scott Banachowski (JIRA)

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

Scott Banachowski updated AVRO-71:
--

Attachment: apply.sh

Here's a shell script that should apply the patch.

I tried this on my mac on a clean checkout of trunk, and all went well.

I copied the patch "AVRO-71.patch" and the script "apply.sh" to root of the 
trunk directory, and from there ran:

sh apply.sh

After the script ran things looked as I expected.

Hope this works for you as well.



> Followup - making some C++ object APIs more generic
> ---
>
> Key: AVRO-71
> URL: https://issues.apache.org/jira/browse/AVRO-71
> Project: Avro
>  Issue Type: Improvement
>  Components: c++
>Reporter: Scott Banachowski
>Assignee: Scott Banachowski
> Attachments: apply.sh, AVRO-71.patch
>
>
> This is a followup to issue AVRO-59.  In that change, a more generic version 
> of Writer class was created to support templates.
> I now have done the same kind of refactor for the Reader version, to make 
> Reader and Writer more symmetric.

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



[jira] Created: (AVRO-97) Bug fix patch for C++

2009-08-18 Thread Scott Banachowski (JIRA)
Bug fix patch for C++
-

 Key: AVRO-97
 URL: https://issues.apache.org/jira/browse/AVRO-97
 Project: Avro
  Issue Type: Bug
  Components: c++
Reporter: Scott Banachowski


This patch has several fixes targeted to feedback from alpha users:
The code generator created some uncompilable code when a "bytes" type appears 
in a union.
The "bytes" parser template had a spurious &.
Variable int reader bit shift was off by 1 bit.
Parser is set to print more verbose error messages and produce exceptions with 
these messages.





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



[jira] Updated: (AVRO-97) Bug fix patch for C++

2009-08-18 Thread Scott Banachowski (JIRA)

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

Scott Banachowski updated AVRO-97:
--

Attachment: AVRO-97.patch

patch with bug fixes

> Bug fix patch for C++
> -
>
> Key: AVRO-97
> URL: https://issues.apache.org/jira/browse/AVRO-97
> Project: Avro
>  Issue Type: Bug
>  Components: c++
>Reporter: Scott Banachowski
> Attachments: AVRO-97.patch
>
>
> This patch has several fixes targeted to feedback from alpha users:
> The code generator created some uncompilable code when a "bytes" type appears 
> in a union.
> The "bytes" parser template had a spurious &.
> Variable int reader bit shift was off by 1 bit.
> Parser is set to print more verbose error messages and produce exceptions 
> with these messages.

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



[jira] Created: (AVRO-98) Make C++ parsing comply to spec

2009-08-18 Thread Scott Banachowski (JIRA)
Make C++ parsing comply to spec
---

 Key: AVRO-98
 URL: https://issues.apache.org/jira/browse/AVRO-98
 Project: Avro
  Issue Type: Improvement
Reporter: Scott Banachowski


Currently the C++ parser has built in assumptions about the order of 
attributes, and does not allow for extra meta-data attributes.
I have a fix for this in progress, so I'm opening the issue now (just so people 
know it's coming).



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



[jira] Created: (AVRO-99) Use an existing unit test framework for C++ (boost)

2009-08-18 Thread Scott Banachowski (JIRA)
Use an existing unit test framework for C++ (boost)
---

 Key: AVRO-99
 URL: https://issues.apache.org/jira/browse/AVRO-99
 Project: Avro
  Issue Type: Improvement
  Components: c++
Reporter: Scott Banachowski


The C++ unit test currently use the basic c assert to test conditions.  This 
should be ported to an existing unit test framework.  The two main ones I know 
of are cppunit and boost unit.  

I propose using boost, since the code already depends on other boost libraries, 
so it won't introduce a new library dependency.


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



[jira] Updated: (AVRO-98) Make C++ parsing comply to spec

2009-08-18 Thread Scott Banachowski (JIRA)

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

Scott Banachowski updated AVRO-98:
--

Component/s: c++

> Make C++ parsing comply to spec
> ---
>
> Key: AVRO-98
> URL: https://issues.apache.org/jira/browse/AVRO-98
> Project: Avro
>  Issue Type: Improvement
>  Components: c++
>Reporter: Scott Banachowski
>   Original Estimate: 168h
>  Remaining Estimate: 168h
>
> Currently the C++ parser has built in assumptions about the order of 
> attributes, and does not allow for extra meta-data attributes.
> I have a fix for this in progress, so I'm opening the issue now (just so 
> people know it's coming).

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



[jira] Created: (AVRO-100) Update spec to reflect that blocking is no longer draft

2009-08-18 Thread Scott Banachowski (JIRA)
Update spec to reflect that blocking is no longer draft
---

 Key: AVRO-100
 URL: https://issues.apache.org/jira/browse/AVRO-100
 Project: Avro
  Issue Type: Wish
  Components: spec
Reporter: Scott Banachowski


Please remove the italic comments that say "NOTE: blocking  should be 
considered draft" now that some implementations have working versions.


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



[jira] Updated: (AVRO-97) Bug fix patch for C++

2009-08-18 Thread Scott Banachowski (JIRA)

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

Scott Banachowski updated AVRO-97:
--

Status: Patch Available  (was: Open)

> Bug fix patch for C++
> -
>
> Key: AVRO-97
> URL: https://issues.apache.org/jira/browse/AVRO-97
> Project: Avro
>  Issue Type: Bug
>  Components: c++
>Reporter: Scott Banachowski
> Attachments: AVRO-97.patch
>
>
> This patch has several fixes targeted to feedback from alpha users:
> The code generator created some uncompilable code when a "bytes" type appears 
> in a union.
> The "bytes" parser template had a spurious &.
> Variable int reader bit shift was off by 1 bit.
> Parser is set to print more verbose error messages and produce exceptions 
> with these messages.

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



[jira] Updated: (AVRO-98) Make C++ parsing comply to spec

2009-09-01 Thread Scott Banachowski (JIRA)

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

Scott Banachowski updated AVRO-98:
--

Attachment: AVRO-98.patch

Patch with code changes

> Make C++ parsing comply to spec
> ---
>
> Key: AVRO-98
> URL: https://issues.apache.org/jira/browse/AVRO-98
> Project: Avro
>  Issue Type: Improvement
>  Components: c++
>Reporter: Scott Banachowski
> Attachments: AVRO-98.patch
>
>   Original Estimate: 168h
>  Remaining Estimate: 168h
>
> Currently the C++ parser has built in assumptions about the order of 
> attributes, and does not allow for extra meta-data attributes.
> I have a fix for this in progress, so I'm opening the issue now (just so 
> people know it's coming).

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



[jira] Updated: (AVRO-98) Make C++ parsing comply to spec

2009-09-01 Thread Scott Banachowski (JIRA)

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

Scott Banachowski updated AVRO-98:
--

Attachment: applypatch98.sh

script to apply patch and run svn add commands on new files

> Make C++ parsing comply to spec
> ---
>
> Key: AVRO-98
> URL: https://issues.apache.org/jira/browse/AVRO-98
> Project: Avro
>  Issue Type: Improvement
>  Components: c++
>Reporter: Scott Banachowski
> Attachments: applypatch98.sh, AVRO-98.patch
>
>   Original Estimate: 168h
>  Remaining Estimate: 168h
>
> Currently the C++ parser has built in assumptions about the order of 
> attributes, and does not allow for extra meta-data attributes.
> I have a fix for this in progress, so I'm opening the issue now (just so 
> people know it's coming).

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



[jira] Commented: (AVRO-98) Make C++ parsing comply to spec

2009-09-01 Thread Scott Banachowski (JIRA)

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

Scott Banachowski commented on AVRO-98:
---

I've made some changes to the parser.  This allows the order of attributes in a 
JSON schema declaration to appear in any order, and allows for metadata 
attributes to appear in records and field definitions.

There was one source file added, and a couple of test schemas, so I added a 
script that applies the patch and does svn add commands on the new files.

After running, svn status -q reports:

M  src/c++/test/testparser.cc
M  src/c++/test/precompile.cc
M  src/c++/impl/ValidSchema.cc
M  src/c++/impl/NodeImpl.cc
M  src/c++/impl/Compiler.cc
M  src/c++/api/NodeConcepts.hh
M  src/c++/api/NodeImpl.hh
M  src/c++/api/Compiler.hh
A  src/c++/api/CompilerNode.hh
M  src/c++/parser/avro.l
M  src/c++/parser/avro.y
M  src/c++/jsonschemas/record2
A  src/c++/jsonschemas/verboseint
M  src/c++/jsonschemas/enum
A  src/c++/jsonschemas/int
A  src/c++/jsonschemas/map
M  src/c++/jsonschemas/array
M  src/c++/jsonschemas/record


> Make C++ parsing comply to spec
> ---
>
> Key: AVRO-98
> URL: https://issues.apache.org/jira/browse/AVRO-98
> Project: Avro
>  Issue Type: Improvement
>  Components: c++
>Reporter: Scott Banachowski
> Attachments: applypatch98.sh, AVRO-98.patch
>
>   Original Estimate: 168h
>  Remaining Estimate: 168h
>
> Currently the C++ parser has built in assumptions about the order of 
> attributes, and does not allow for extra meta-data attributes.
> I have a fix for this in progress, so I'm opening the issue now (just so 
> people know it's coming).

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



[jira] Commented: (AVRO-98) Make C++ parsing comply to spec

2009-09-02 Thread Scott Banachowski (JIRA)

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

Scott Banachowski commented on AVRO-98:
---

Thiru found it works with recent boost versions, but does not compile with 
older versions (due to boost API change).
I'll  fix this patch to work with earlier boost versions.



> Make C++ parsing comply to spec
> ---
>
> Key: AVRO-98
> URL: https://issues.apache.org/jira/browse/AVRO-98
> Project: Avro
>  Issue Type: Improvement
>  Components: c++
>Reporter: Scott Banachowski
> Attachments: applypatch98.sh, AVRO-98.patch
>
>   Original Estimate: 168h
>  Remaining Estimate: 168h
>
> Currently the C++ parser has built in assumptions about the order of 
> attributes, and does not allow for extra meta-data attributes.
> I have a fix for this in progress, so I'm opening the issue now (just so 
> people know it's coming).

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



[jira] Commented: (AVRO-98) Make C++ parsing comply to spec

2009-09-02 Thread Scott Banachowski (JIRA)

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

Scott Banachowski commented on AVRO-98:
---

This compile error is the same one Thiru found, and it's related to older boost 
(I am using 1.38).
Doug, can you confirm if your boost version is  < 1.38.  possibly 1.33?



> Make C++ parsing comply to spec
> ---
>
> Key: AVRO-98
> URL: https://issues.apache.org/jira/browse/AVRO-98
> Project: Avro
>  Issue Type: Improvement
>  Components: c++
>Reporter: Scott Banachowski
> Attachments: applypatch98.sh, AVRO-98.patch
>
>   Original Estimate: 168h
>  Remaining Estimate: 168h
>
> Currently the C++ parser has built in assumptions about the order of 
> attributes, and does not allow for extra meta-data attributes.
> I have a fix for this in progress, so I'm opening the issue now (just so 
> people know it's coming).

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



[jira] Updated: (AVRO-98) Make C++ parsing comply to spec

2009-09-02 Thread Scott Banachowski (JIRA)

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

Scott Banachowski updated AVRO-98:
--

Attachment: AVRO-98-revised.patch

new patch to replace the original one, now works with boost 1.33 and higher


> Make C++ parsing comply to spec
> ---
>
> Key: AVRO-98
> URL: https://issues.apache.org/jira/browse/AVRO-98
> Project: Avro
>  Issue Type: Improvement
>  Components: c++
>Reporter: Scott Banachowski
> Attachments: applypatch98.sh, AVRO-98-revised.patch, AVRO-98.patch
>
>   Original Estimate: 168h
>  Remaining Estimate: 168h
>
> Currently the C++ parser has built in assumptions about the order of 
> attributes, and does not allow for extra meta-data attributes.
> I have a fix for this in progress, so I'm opening the issue now (just so 
> people know it's coming).

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



[jira] Updated: (AVRO-98) Make C++ parsing comply to spec

2009-09-02 Thread Scott Banachowski (JIRA)

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

Scott Banachowski updated AVRO-98:
--

Attachment: (was: AVRO-98.patch)

> Make C++ parsing comply to spec
> ---
>
> Key: AVRO-98
> URL: https://issues.apache.org/jira/browse/AVRO-98
> Project: Avro
>  Issue Type: Improvement
>  Components: c++
>Reporter: Scott Banachowski
> Attachments: applypatch98.sh, AVRO-98-revised.patch
>
>   Original Estimate: 168h
>  Remaining Estimate: 168h
>
> Currently the C++ parser has built in assumptions about the order of 
> attributes, and does not allow for extra meta-data attributes.
> I have a fix for this in progress, so I'm opening the issue now (just so 
> people know it's coming).

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



[jira] Created: (AVRO-112) Turn off verbose debugging on the checked in version

2009-09-04 Thread Scott Banachowski (JIRA)
Turn off verbose debugging on the checked in version


 Key: AVRO-112
 URL: https://issues.apache.org/jira/browse/AVRO-112
 Project: Avro
  Issue Type: Improvement
  Components: c++
Reporter: Scott Banachowski
Priority: Trivial
 Attachments: AVRO-112.patch

Accidentally left this on in the last patch, was supposed to be off.


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



[jira] Updated: (AVRO-112) Turn off verbose debugging on the checked in version

2009-09-04 Thread Scott Banachowski (JIRA)

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

Scott Banachowski updated AVRO-112:
---

Attachment: AVRO-112.patch

patch file

> Turn off verbose debugging on the checked in version
> 
>
> Key: AVRO-112
> URL: https://issues.apache.org/jira/browse/AVRO-112
> Project: Avro
>  Issue Type: Improvement
>  Components: c++
>Reporter: Scott Banachowski
>Priority: Trivial
> Attachments: AVRO-112.patch
>
>
> Accidentally left this on in the last patch, was supposed to be off.

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



[jira] Updated: (AVRO-112) Turn off verbose debugging on the checked in version

2009-09-04 Thread Scott Banachowski (JIRA)

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

Scott Banachowski updated AVRO-112:
---

Status: Patch Available  (was: Open)

> Turn off verbose debugging on the checked in version
> 
>
> Key: AVRO-112
> URL: https://issues.apache.org/jira/browse/AVRO-112
> Project: Avro
>  Issue Type: Improvement
>  Components: c++
>Reporter: Scott Banachowski
>Priority: Trivial
> Attachments: AVRO-112.patch
>
>
> Accidentally left this on in the last patch, was supposed to be off.

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



[jira] Updated: (AVRO-113) C++ version is using wrong endian for varints

2009-09-08 Thread Scott Banachowski (JIRA)

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

Scott Banachowski updated AVRO-113:
---

Attachment: AVRO-113.patch

> C++ version is using wrong endian for varints
> -
>
> Key: AVRO-113
> URL: https://issues.apache.org/jira/browse/AVRO-113
> Project: Avro
>  Issue Type: Bug
>  Components: c++
>Reporter: Scott Banachowski
> Attachments: AVRO-113.patch
>
>
> I totally overlooked the wording in the spec that says least significant 
> parts appear before more significant ones, and used the inverse convention.
> This was discovered when I compared to Java output (highlighting the absence 
> of the interoperability tests for c++!).
> Here is a fix for the code.  Interoperability tests should follow soon.

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



[jira] Created: (AVRO-113) C++ version is using wrong endian for varints

2009-09-08 Thread Scott Banachowski (JIRA)
C++ version is using wrong endian for varints
-

 Key: AVRO-113
 URL: https://issues.apache.org/jira/browse/AVRO-113
 Project: Avro
  Issue Type: Bug
  Components: c++
Reporter: Scott Banachowski


I totally overlooked the wording in the spec that says least significant parts 
appear before more significant ones, and used the inverse convention.

This was discovered when I compared to Java output (highlighting the absence of 
the interoperability tests for c++!).

Here is a fix for the code.  Interoperability tests should follow soon.



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



[jira] Updated: (AVRO-113) C++ version is using wrong endian for varints

2009-09-08 Thread Scott Banachowski (JIRA)

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

Scott Banachowski updated AVRO-113:
---

Status: Patch Available  (was: Open)

> C++ version is using wrong endian for varints
> -
>
> Key: AVRO-113
> URL: https://issues.apache.org/jira/browse/AVRO-113
> Project: Avro
>  Issue Type: Bug
>  Components: c++
>Reporter: Scott Banachowski
> Attachments: AVRO-113.patch
>
>
> I totally overlooked the wording in the spec that says least significant 
> parts appear before more significant ones, and used the inverse convention.
> This was discovered when I compared to Java output (highlighting the absence 
> of the interoperability tests for c++!).
> Here is a fix for the code.  Interoperability tests should follow soon.

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



[jira] Created: (AVRO-116) Support for older versions of boost

2009-09-19 Thread Scott Banachowski (JIRA)
Support for older versions of boost
---

 Key: AVRO-116
 URL: https://issues.apache.org/jira/browse/AVRO-116
 Project: Avro
  Issue Type: Improvement
  Components: c++
Reporter: Scott Banachowski


The avro c++ code uses boost features that were introduced in boost 1.33.  Some 
users are dependent on boost 1.32 and requested support for the earlier version.

This patch will provide the missing features if the boost version is < 1.33.



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



[jira] Updated: (AVRO-116) Support for older versions of boost

2009-09-19 Thread Scott Banachowski (JIRA)

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

Scott Banachowski updated AVRO-116:
---

Attachment: applypatch116.sh
AVRO-116.patch

This is the patch, and a shell script used to apply the patch (shell script 
runs svn add for a new file).

After applying patch, svn status -q reports:

M  src/c++/scripts/gen.py
A  src/c++/api/Boost.hh
M  src/c++/api/AvroTraits.hh
M  src/c++/api/Compiler.hh



> Support for older versions of boost
> ---
>
> Key: AVRO-116
> URL: https://issues.apache.org/jira/browse/AVRO-116
> Project: Avro
>  Issue Type: Improvement
>  Components: c++
>Reporter: Scott Banachowski
> Attachments: applypatch116.sh, AVRO-116.patch
>
>
> The avro c++ code uses boost features that were introduced in boost 1.33.  
> Some users are dependent on boost 1.32 and requested support for the earlier 
> version.
> This patch will provide the missing features if the boost version is < 1.33.

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



[jira] Updated: (AVRO-116) Support for older versions of boost

2009-09-19 Thread Scott Banachowski (JIRA)

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

Scott Banachowski updated AVRO-116:
---

Status: Patch Available  (was: Open)

Patch and shell script are uploaded.

> Support for older versions of boost
> ---
>
> Key: AVRO-116
> URL: https://issues.apache.org/jira/browse/AVRO-116
> Project: Avro
>  Issue Type: Improvement
>  Components: c++
>Reporter: Scott Banachowski
> Attachments: applypatch116.sh, AVRO-116.patch
>
>
> The avro c++ code uses boost features that were introduced in boost 1.33.  
> Some users are dependent on boost 1.32 and requested support for the earlier 
> version.
> This patch will provide the missing features if the boost version is < 1.33.

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



[jira] Updated: (AVRO-116) Support for older versions of boost

2009-09-19 Thread Scott Banachowski (JIRA)

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

Scott Banachowski updated AVRO-116:
---

Attachment: (was: applypatch116.sh)

> Support for older versions of boost
> ---
>
> Key: AVRO-116
> URL: https://issues.apache.org/jira/browse/AVRO-116
> Project: Avro
>  Issue Type: Improvement
>  Components: c++
>Reporter: Scott Banachowski
> Attachments: applypatch116.sh, AVRO-116.patch
>
>
> The avro c++ code uses boost features that were introduced in boost 1.33.  
> Some users are dependent on boost 1.32 and requested support for the earlier 
> version.
> This patch will provide the missing features if the boost version is < 1.33.

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



[jira] Updated: (AVRO-116) Support for older versions of boost

2009-09-19 Thread Scott Banachowski (JIRA)

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

Scott Banachowski updated AVRO-116:
---

Attachment: applypatch116.sh

new script for applying patch

> Support for older versions of boost
> ---
>
> Key: AVRO-116
> URL: https://issues.apache.org/jira/browse/AVRO-116
> Project: Avro
>  Issue Type: Improvement
>  Components: c++
>Reporter: Scott Banachowski
> Attachments: applypatch116.sh, AVRO-116.patch
>
>
> The avro c++ code uses boost features that were introduced in boost 1.33.  
> Some users are dependent on boost 1.32 and requested support for the earlier 
> version.
> This patch will provide the missing features if the boost version is < 1.33.

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



[jira] Updated: (AVRO-99) Use an existing unit test framework for C++ (boost)

2009-09-19 Thread Scott Banachowski (JIRA)

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

Scott Banachowski updated AVRO-99:
--

Status: Patch Available  (was: Open)

> Use an existing unit test framework for C++ (boost)
> ---
>
> Key: AVRO-99
> URL: https://issues.apache.org/jira/browse/AVRO-99
> Project: Avro
>  Issue Type: Improvement
>  Components: c++
>Reporter: Scott Banachowski
> Attachments: AVRO-99.patch
>
>
> The C++ unit test currently use the basic c assert to test conditions.  This 
> should be ported to an existing unit test framework.  The two main ones I 
> know of are cppunit and boost unit.  
> I propose using boost, since the code already depends on other boost 
> libraries, so it won't introduce a new library dependency.

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



[jira] Updated: (AVRO-99) Use an existing unit test framework for C++ (boost)

2009-09-19 Thread Scott Banachowski (JIRA)

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

Scott Banachowski updated AVRO-99:
--

Attachment: AVRO-99.patch

patch to use boost unit test framework
apply with patch -p0 < AVRO-99.patch

> Use an existing unit test framework for C++ (boost)
> ---
>
> Key: AVRO-99
> URL: https://issues.apache.org/jira/browse/AVRO-99
> Project: Avro
>  Issue Type: Improvement
>  Components: c++
>Reporter: Scott Banachowski
> Attachments: AVRO-99.patch
>
>
> The C++ unit test currently use the basic c assert to test conditions.  This 
> should be ported to an existing unit test framework.  The two main ones I 
> know of are cppunit and boost unit.  
> I propose using boost, since the code already depends on other boost 
> libraries, so it won't introduce a new library dependency.

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



[jira] Created: (AVRO-117) plug mem leak from flex parser for C++

2009-09-21 Thread Scott Banachowski (JIRA)
plug mem leak from flex parser for C++
--

 Key: AVRO-117
 URL: https://issues.apache.org/jira/browse/AVRO-117
 Project: Avro
  Issue Type: Bug
  Components: c++
Reporter: Scott Banachowski
 Attachments: AVRO-117.patch

Valgrind reports a leak coming from the flex parser generated code.

The flex-generated lexer allocates memory to use for its state stack.  
Examining this code it is clear that once allocated, the stack is never freed.  
Since I cannot easily replace flex code, I inserted the code to free the stack 
as a lexer rule.  

Valgrind is happy with the result.


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



[jira] Updated: (AVRO-117) plug mem leak from flex parser for C++

2009-09-21 Thread Scott Banachowski (JIRA)

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

Scott Banachowski updated AVRO-117:
---

Attachment: AVRO-117.patch

patch, apply with 
patch -p0 < AVRO-117.patch

> plug mem leak from flex parser for C++
> --
>
> Key: AVRO-117
> URL: https://issues.apache.org/jira/browse/AVRO-117
> Project: Avro
>  Issue Type: Bug
>  Components: c++
>Reporter: Scott Banachowski
> Attachments: AVRO-117.patch
>
>
> Valgrind reports a leak coming from the flex parser generated code.
> The flex-generated lexer allocates memory to use for its state stack.  
> Examining this code it is clear that once allocated, the stack is never 
> freed.  Since I cannot easily replace flex code, I inserted the code to free 
> the stack as a lexer rule.  
> Valgrind is happy with the result.

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



[jira] Updated: (AVRO-117) plug mem leak from flex parser for C++

2009-09-21 Thread Scott Banachowski (JIRA)

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

Scott Banachowski updated AVRO-117:
---

Status: Patch Available  (was: Open)

> plug mem leak from flex parser for C++
> --
>
> Key: AVRO-117
> URL: https://issues.apache.org/jira/browse/AVRO-117
> Project: Avro
>  Issue Type: Bug
>  Components: c++
>Reporter: Scott Banachowski
> Attachments: AVRO-117.patch
>
>
> Valgrind reports a leak coming from the flex parser generated code.
> The flex-generated lexer allocates memory to use for its state stack.  
> Examining this code it is clear that once allocated, the stack is never 
> freed.  Since I cannot easily replace flex code, I inserted the code to free 
> the stack as a lexer rule.  
> Valgrind is happy with the result.

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



[jira] Commented: (AVRO-117) plug mem leak from flex parser for C++

2009-09-22 Thread Scott Banachowski (JIRA)

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

Scott Banachowski commented on AVRO-117:


ok thanks,  looks like I can duplicate this compile failure on my mac as well 
(which has a different flex than my linux box).  I'll make a new patch shortly.


> plug mem leak from flex parser for C++
> --
>
> Key: AVRO-117
> URL: https://issues.apache.org/jira/browse/AVRO-117
> Project: Avro
>  Issue Type: Bug
>  Components: c++
>Reporter: Scott Banachowski
>Assignee: Scott Banachowski
> Attachments: AVRO-117.patch
>
>
> Valgrind reports a leak coming from the flex parser generated code.
> The flex-generated lexer allocates memory to use for its state stack.  
> Examining this code it is clear that once allocated, the stack is never 
> freed.  Since I cannot easily replace flex code, I inserted the code to free 
> the stack as a lexer rule.  
> Valgrind is happy with the result.

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



[jira] Commented: (AVRO-117) plug mem leak from flex parser for C++

2009-09-22 Thread Scott Banachowski (JIRA)

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

Scott Banachowski commented on AVRO-117:


After looking at the flex source, and compiling and testing with versions 
2.5.4, 2.5.27, 2.5.31, 2.5.33, 2.5.34 and 2.5.35, I have way more knowledge of 
flex than I wanted to know.

The leak this original patch addressed was fixed at 2.5.27, but then at 2.5.31 
there was another leak introduced, which was then fixed in 2.5.34.

I now have a compiler switch that can fix both known leaks, and compiles with 
all the versions above.  I just hope that covers the multiple of flex users.




> plug mem leak from flex parser for C++
> --
>
> Key: AVRO-117
> URL: https://issues.apache.org/jira/browse/AVRO-117
> Project: Avro
>  Issue Type: Bug
>  Components: c++
>Reporter: Scott Banachowski
>Assignee: Scott Banachowski
> Attachments: AVRO-117.patch
>
>
> Valgrind reports a leak coming from the flex parser generated code.
> The flex-generated lexer allocates memory to use for its state stack.  
> Examining this code it is clear that once allocated, the stack is never 
> freed.  Since I cannot easily replace flex code, I inserted the code to free 
> the stack as a lexer rule.  
> Valgrind is happy with the result.

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



[jira] Updated: (AVRO-117) plug mem leak from flex parser for C++

2009-09-22 Thread Scott Banachowski (JIRA)

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

Scott Banachowski updated AVRO-117:
---

Attachment: (was: AVRO-117.patch)

> plug mem leak from flex parser for C++
> --
>
> Key: AVRO-117
> URL: https://issues.apache.org/jira/browse/AVRO-117
> Project: Avro
>  Issue Type: Bug
>  Components: c++
>Reporter: Scott Banachowski
>Assignee: Scott Banachowski
> Attachments: AVRO-117.patch
>
>
> Valgrind reports a leak coming from the flex parser generated code.
> The flex-generated lexer allocates memory to use for its state stack.  
> Examining this code it is clear that once allocated, the stack is never 
> freed.  Since I cannot easily replace flex code, I inserted the code to free 
> the stack as a lexer rule.  
> Valgrind is happy with the result.

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



[jira] Updated: (AVRO-117) plug mem leak from flex parser for C++

2009-09-22 Thread Scott Banachowski (JIRA)

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

Scott Banachowski updated AVRO-117:
---

Attachment: AVRO-117.patch

The old patch was deleted and replaced with this one (they have the same name).

> plug mem leak from flex parser for C++
> --
>
> Key: AVRO-117
> URL: https://issues.apache.org/jira/browse/AVRO-117
> Project: Avro
>  Issue Type: Bug
>  Components: c++
>Reporter: Scott Banachowski
>Assignee: Scott Banachowski
> Attachments: AVRO-117.patch
>
>
> Valgrind reports a leak coming from the flex parser generated code.
> The flex-generated lexer allocates memory to use for its state stack.  
> Examining this code it is clear that once allocated, the stack is never 
> freed.  Since I cannot easily replace flex code, I inserted the code to free 
> the stack as a lexer rule.  
> Valgrind is happy with the result.

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



[jira] Created: (AVRO-132) Fix multi-threading race condition when threads share schema objects

2009-10-02 Thread Scott Banachowski (JIRA)
Fix multi-threading race condition when threads share schema objects


 Key: AVRO-132
 URL: https://issues.apache.org/jira/browse/AVRO-132
 Project: Avro
  Issue Type: Bug
  Components: c++
Reporter: Scott Banachowski
Assignee: Scott Banachowski


This bug was discovered when using the same avro schema object to decode many 
messages in parallel.  

A reference count used to manage the some pointers used by the schema was not 
atomic, so race conditions caused them to be decremented more than they were 
incremented (and thus, deleted).

The solution is to use atomic counters for references, and by switching to 
boost::shared_ptr, we get this. 



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



[jira] Updated: (AVRO-132) Fix multi-threading race condition when threads share schema objects

2009-10-02 Thread Scott Banachowski (JIRA)

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

Scott Banachowski updated AVRO-132:
---

Attachment: AVRO-132.patch

patch with bug fix (patch also fixes some typos in comments, and marks some 
functions const).


> Fix multi-threading race condition when threads share schema objects
> 
>
> Key: AVRO-132
> URL: https://issues.apache.org/jira/browse/AVRO-132
> Project: Avro
>  Issue Type: Bug
>  Components: c++
>Reporter: Scott Banachowski
>Assignee: Scott Banachowski
> Attachments: AVRO-132.patch
>
>
> This bug was discovered when using the same avro schema object to decode many 
> messages in parallel.  
> A reference count used to manage the some pointers used by the schema was not 
> atomic, so race conditions caused them to be decremented more than they were 
> incremented (and thus, deleted).
> The solution is to use atomic counters for references, and by switching to 
> boost::shared_ptr, we get this. 

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



[jira] Updated: (AVRO-132) Fix multi-threading race condition when threads share schema objects

2009-10-02 Thread Scott Banachowski (JIRA)

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

Scott Banachowski updated AVRO-132:
---

Status: Patch Available  (was: Open)

> Fix multi-threading race condition when threads share schema objects
> 
>
> Key: AVRO-132
> URL: https://issues.apache.org/jira/browse/AVRO-132
> Project: Avro
>  Issue Type: Bug
>  Components: c++
>Reporter: Scott Banachowski
>Assignee: Scott Banachowski
> Attachments: AVRO-132.patch
>
>
> This bug was discovered when using the same avro schema object to decode many 
> messages in parallel.  
> A reference count used to manage the some pointers used by the schema was not 
> atomic, so race conditions caused them to be decremented more than they were 
> incremented (and thus, deleted).
> The solution is to use atomic counters for references, and by switching to 
> boost::shared_ptr, we get this. 

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



[jira] Commented: (AVRO-133) The Avro spec must be change controlled

2009-10-05 Thread Scott Banachowski (JIRA)

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

Scott Banachowski commented on AVRO-133:


I think the issue is with the printed/published documentation.

For example, when I print a pdf copy of the spec, the only thing that indicates 
a version is the title "Avro 1.0 Specification"

However, the spec is *much* different from one I printed several months ago, 
which also had the title "Avro 1.0 Specification".  There's no indication that 
the version is any different than the new one except by directly comparing the 
text.

I think the same is true of the spec web pages.

Adding a minor version, or perhaps a date that the spec was generate, to the 
generated web pages/ documents, would help distinguish which copies of the spec 
are newer.   Even better, if there was an addendum to the spec that highlighted 
what was updated at each version/date.


> The Avro spec must be change controlled
> ---
>
> Key: AVRO-133
> URL: https://issues.apache.org/jira/browse/AVRO-133
> Project: Avro
>  Issue Type: Bug
>  Components: spec
>Reporter: Jon Bratseth
>
> It seems currently changes are being made without bumping the version number.
> The spec should:
> - Change minor number each time any change is made
> - Include a change log listing each change and accompanying version number

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



[jira] Commented: (AVRO-132) Fix multi-threading race condition when threads share schema objects

2009-10-06 Thread Scott Banachowski (JIRA)

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

Scott Banachowski commented on AVRO-132:


Thanks for testing Doug, I will do the commit.  :)





> Fix multi-threading race condition when threads share schema objects
> 
>
> Key: AVRO-132
> URL: https://issues.apache.org/jira/browse/AVRO-132
> Project: Avro
>  Issue Type: Bug
>  Components: c++
>Reporter: Scott Banachowski
>Assignee: Scott Banachowski
> Attachments: AVRO-132.patch
>
>
> This bug was discovered when using the same avro schema object to decode many 
> messages in parallel.  
> A reference count used to manage the some pointers used by the schema was not 
> atomic, so race conditions caused them to be decremented more than they were 
> incremented (and thus, deleted).
> The solution is to use atomic counters for references, and by switching to 
> boost::shared_ptr, we get this. 

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



[jira] Updated: (AVRO-132) Fix multi-threading race condition when threads share schema objects

2009-10-07 Thread Scott Banachowski (JIRA)

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

Scott Banachowski updated AVRO-132:
---

Resolution: Fixed
Status: Resolved  (was: Patch Available)

Committed revision 822968.

> Fix multi-threading race condition when threads share schema objects
> 
>
> Key: AVRO-132
> URL: https://issues.apache.org/jira/browse/AVRO-132
> Project: Avro
>  Issue Type: Bug
>  Components: c++
>Reporter: Scott Banachowski
>Assignee: Scott Banachowski
> Attachments: AVRO-132.patch
>
>
> This bug was discovered when using the same avro schema object to decode many 
> messages in parallel.  
> A reference count used to manage the some pointers used by the schema was not 
> atomic, so race conditions caused them to be decremented more than they were 
> incremented (and thus, deleted).
> The solution is to use atomic counters for references, and by switching to 
> boost::shared_ptr, we get this. 

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



[jira] Created: (AVRO-147) Using configure to set up Makefiles for C++

2009-10-13 Thread Scott Banachowski (JIRA)
Using configure to set up Makefiles for C++
---

 Key: AVRO-147
 URL: https://issues.apache.org/jira/browse/AVRO-147
 Project: Avro
  Issue Type: Improvement
  Components: c++
Reporter: Scott Banachowski


I used autoconf to create a configure file, which in turn can be used to create 
a Makefile.

This is to replace the hand-edited System.mk files that were there before, as 
now configure tries to figure it out.



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



[jira] Updated: (AVRO-147) Using configure to set up Makefiles for C++

2009-10-13 Thread Scott Banachowski (JIRA)

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

Scott Banachowski updated AVRO-147:
---

Status: Patch Available  (was: Open)

> Using configure to set up Makefiles for C++
> ---
>
> Key: AVRO-147
> URL: https://issues.apache.org/jira/browse/AVRO-147
> Project: Avro
>  Issue Type: Improvement
>  Components: c++
>Reporter: Scott Banachowski
> Attachments: applypatch147.sh, AVRO-147.patch
>
>
> I used autoconf to create a configure file, which in turn can be used to 
> create a Makefile.
> This is to replace the hand-edited System.mk files that were there before, as 
> now configure tries to figure it out.

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



[jira] Updated: (AVRO-147) Using configure to set up Makefiles for C++

2009-10-13 Thread Scott Banachowski (JIRA)

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

Scott Banachowski updated AVRO-147:
---

Attachment: applypatch147.sh
AVRO-147.patch

Here is the patch.
Since it adds and removes files, I added a shell script to apply the patch and 
invoke the right steps for svn.



> Using configure to set up Makefiles for C++
> ---
>
> Key: AVRO-147
> URL: https://issues.apache.org/jira/browse/AVRO-147
> Project: Avro
>  Issue Type: Improvement
>  Components: c++
>Reporter: Scott Banachowski
> Attachments: applypatch147.sh, AVRO-147.patch
>
>
> I used autoconf to create a configure file, which in turn can be used to 
> create a Makefile.
> This is to replace the hand-edited System.mk files that were there before, as 
> now configure tries to figure it out.

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



[jira] Updated: (AVRO-147) Using configure to set up Makefiles for C++

2009-10-13 Thread Scott Banachowski (JIRA)

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

Scott Banachowski updated AVRO-147:
---

Attachment: applypatch147.sh

update to the apply patch

> Using configure to set up Makefiles for C++
> ---
>
> Key: AVRO-147
> URL: https://issues.apache.org/jira/browse/AVRO-147
> Project: Avro
>  Issue Type: Improvement
>  Components: c++
>Reporter: Scott Banachowski
> Attachments: applypatch147.sh, AVRO-147.patch
>
>
> I used autoconf to create a configure file, which in turn can be used to 
> create a Makefile.
> This is to replace the hand-edited System.mk files that were there before, as 
> now configure tries to figure it out.

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



[jira] Updated: (AVRO-147) Using configure to set up Makefiles for C++

2009-10-13 Thread Scott Banachowski (JIRA)

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

Scott Banachowski updated AVRO-147:
---

Attachment: (was: applypatch147.sh)

> Using configure to set up Makefiles for C++
> ---
>
> Key: AVRO-147
> URL: https://issues.apache.org/jira/browse/AVRO-147
> Project: Avro
>  Issue Type: Improvement
>  Components: c++
>Reporter: Scott Banachowski
> Attachments: applypatch147.sh, AVRO-147.patch
>
>
> I used autoconf to create a configure file, which in turn can be used to 
> create a Makefile.
> This is to replace the hand-edited System.mk files that were there before, as 
> now configure tries to figure it out.

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



[jira] Updated: (AVRO-147) Using configure to set up Makefiles for C++

2009-10-13 Thread Scott Banachowski (JIRA)

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

Scott Banachowski updated AVRO-147:
---

Attachment: (was: applypatch147.sh)

> Using configure to set up Makefiles for C++
> ---
>
> Key: AVRO-147
> URL: https://issues.apache.org/jira/browse/AVRO-147
> Project: Avro
>  Issue Type: Improvement
>  Components: c++
>Reporter: Scott Banachowski
> Attachments: applypatch147.sh, AVRO-147.patch
>
>
> I used autoconf to create a configure file, which in turn can be used to 
> create a Makefile.
> This is to replace the hand-edited System.mk files that were there before, as 
> now configure tries to figure it out.

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



[jira] Updated: (AVRO-147) Using configure to set up Makefiles for C++

2009-10-13 Thread Scott Banachowski (JIRA)

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

Scott Banachowski updated AVRO-147:
---

Attachment: applypatch147.sh

fixed

> Using configure to set up Makefiles for C++
> ---
>
> Key: AVRO-147
> URL: https://issues.apache.org/jira/browse/AVRO-147
> Project: Avro
>  Issue Type: Improvement
>  Components: c++
>Reporter: Scott Banachowski
> Attachments: applypatch147.sh, AVRO-147.patch
>
>
> I used autoconf to create a configure file, which in turn can be used to 
> create a Makefile.
> This is to replace the hand-edited System.mk files that were there before, as 
> now configure tries to figure it out.

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



[jira] Commented: (AVRO-147) Using configure to set up Makefiles for C++

2009-10-13 Thread Scott Banachowski (JIRA)

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

Scott Banachowski commented on AVRO-147:


To test out the patch, copy both applypatch147.sh and AVRO-147.patch to the 
root of avro trunk, then run:

> sh applypatch147.sh 

Then:
> cd src/c++
> sh configure

Assume that goes well: 
> make
> make check

Note if you're like me you may have boost staged instead of installed.  in that 
case you may need:
> sh configure --with-boost=/path/to/boost
and
> export LD_LIBRARY_PATH=/path/to/boost/lib 

I've tried it on Linux and Mac, and works for both.  I'm hoping somebody else 
can try it on their setup and report problems if any.

Once this is checked in I also have some changes that will build this as part 
of the root-level ant build.





> Using configure to set up Makefiles for C++
> ---
>
> Key: AVRO-147
> URL: https://issues.apache.org/jira/browse/AVRO-147
> Project: Avro
>  Issue Type: Improvement
>  Components: c++
>Reporter: Scott Banachowski
> Attachments: applypatch147.sh, AVRO-147.patch
>
>
> I used autoconf to create a configure file, which in turn can be used to 
> create a Makefile.
> This is to replace the hand-edited System.mk files that were there before, as 
> now configure tries to figure it out.

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



[jira] Assigned: (AVRO-148) Add ant target to build c++ project

2009-10-13 Thread Scott Banachowski (JIRA)

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

Scott Banachowski reassigned AVRO-148:
--

Assignee: Scott Banachowski

> Add ant target to build c++ project
> ---
>
> Key: AVRO-148
> URL: https://issues.apache.org/jira/browse/AVRO-148
> Project: Avro
>  Issue Type: Improvement
>  Components: c++
>Reporter: Scott Banachowski
>Assignee: Scott Banachowski
>
> I have a preliminary patch for this, but it has a dependency on AVRO-147, so 
> I'm waiting to commit that before posting this.

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



[jira] Created: (AVRO-148) Add ant target to build c++ project

2009-10-13 Thread Scott Banachowski (JIRA)
Add ant target to build c++ project
---

 Key: AVRO-148
 URL: https://issues.apache.org/jira/browse/AVRO-148
 Project: Avro
  Issue Type: Improvement
  Components: c++
Reporter: Scott Banachowski


I have a preliminary patch for this, but it has a dependency on AVRO-147, so 
I'm waiting to commit that before posting this.


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



[jira] Commented: (AVRO-147) Using configure to set up Makefiles for C++

2009-10-14 Thread Scott Banachowski (JIRA)

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

Scott Banachowski commented on AVRO-147:


Thanks Thiru,
I'll try to supress the warnings for configure.  

Regarding the clock skew issue, I don't think it has anything to do with 
configure.  When I've seen it, usually it's a mismatch between nfs server time 
and the host time, or ntpd in action.  I've also heard that it's frequent in 
FAT filesystems due to less granular timestamp info (this might be the case for 
cygwin).





> Using configure to set up Makefiles for C++
> ---
>
> Key: AVRO-147
> URL: https://issues.apache.org/jira/browse/AVRO-147
> Project: Avro
>  Issue Type: Improvement
>  Components: c++
>Reporter: Scott Banachowski
> Attachments: applypatch147.sh, AVRO-147.patch
>
>
> I used autoconf to create a configure file, which in turn can be used to 
> create a Makefile.
> This is to replace the hand-edited System.mk files that were there before, as 
> now configure tries to figure it out.

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



[jira] Commented: (AVRO-147) Using configure to set up Makefiles for C++

2009-10-14 Thread Scott Banachowski (JIRA)

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

Scott Banachowski commented on AVRO-147:


Ok, thanks.  I tried cygwin on an XP machine and it worked for me too.


> Using configure to set up Makefiles for C++
> ---
>
> Key: AVRO-147
> URL: https://issues.apache.org/jira/browse/AVRO-147
> Project: Avro
>  Issue Type: Improvement
>  Components: c++
>Reporter: Scott Banachowski
> Attachments: applypatch147.sh, AVRO-147.patch
>
>
> I used autoconf to create a configure file, which in turn can be used to 
> create a Makefile.
> This is to replace the hand-edited System.mk files that were there before, as 
> now configure tries to figure it out.

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



[jira] Commented: (AVRO-147) Using configure to set up Makefiles for C++

2009-10-15 Thread Scott Banachowski (JIRA)

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

Scott Banachowski commented on AVRO-147:


Yes, I think config.log and config.status can be ignored.  When I add the ant 
build, those files will end up in the build directories instead of the source 
directories.


> Using configure to set up Makefiles for C++
> ---
>
> Key: AVRO-147
> URL: https://issues.apache.org/jira/browse/AVRO-147
> Project: Avro
>  Issue Type: Improvement
>  Components: c++
>Reporter: Scott Banachowski
> Attachments: applypatch147.sh, AVRO-147.patch
>
>
> I used autoconf to create a configure file, which in turn can be used to 
> create a Makefile.
> This is to replace the hand-edited System.mk files that were there before, as 
> now configure tries to figure it out.

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



[jira] Updated: (AVRO-147) Using configure to set up Makefiles for C++

2009-10-15 Thread Scott Banachowski (JIRA)

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

Scott Banachowski updated AVRO-147:
---

Resolution: Fixed
Status: Resolved  (was: Patch Available)

Committed revision 825526.

> Using configure to set up Makefiles for C++
> ---
>
> Key: AVRO-147
> URL: https://issues.apache.org/jira/browse/AVRO-147
> Project: Avro
>  Issue Type: Improvement
>  Components: c++
>Reporter: Scott Banachowski
> Attachments: applypatch147.sh, AVRO-147.patch
>
>
> I used autoconf to create a configure file, which in turn can be used to 
> create a Makefile.
> This is to replace the hand-edited System.mk files that were there before, as 
> now configure tries to figure it out.

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



[jira] Updated: (AVRO-148) Add ant target to build c++ project

2009-10-15 Thread Scott Banachowski (JIRA)

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

Scott Banachowski updated AVRO-148:
---

Attachment: applypatch148.sh
AVRO-148.patch

Here's a change that allows the ant build to include cpp stuff now.

There's a patch, and a shell to apply the patch (one file got renamed, hence 
the shell).

All the cpp targets work ok for me on linux and mac.  I'm curious if it'll work 
for others.  

I haven't been able to do a full ant build because of the java stuff is not 
working for me (do we need to have both java5 and 6 installed to work?)




> Add ant target to build c++ project
> ---
>
> Key: AVRO-148
> URL: https://issues.apache.org/jira/browse/AVRO-148
> Project: Avro
>  Issue Type: Improvement
>  Components: c++
>Reporter: Scott Banachowski
>Assignee: Scott Banachowski
> Attachments: applypatch148.sh, AVRO-148.patch
>
>
> I have a preliminary patch for this, but it has a dependency on AVRO-147, so 
> I'm waiting to commit that before posting this.

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



[jira] Updated: (AVRO-148) Add ant target to build c++ project

2009-10-15 Thread Scott Banachowski (JIRA)

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

Scott Banachowski updated AVRO-148:
---

Status: Patch Available  (was: Open)

> Add ant target to build c++ project
> ---
>
> Key: AVRO-148
> URL: https://issues.apache.org/jira/browse/AVRO-148
> Project: Avro
>  Issue Type: Improvement
>  Components: c++
>Reporter: Scott Banachowski
>Assignee: Scott Banachowski
> Attachments: applypatch148.sh, AVRO-148.patch
>
>
> I have a preliminary patch for this, but it has a dependency on AVRO-147, so 
> I'm waiting to commit that before posting this.

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



[jira] Updated: (AVRO-148) Add ant target to build c++ project

2009-10-19 Thread Scott Banachowski (JIRA)

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

Scott Banachowski updated AVRO-148:
---

Attachment: AVRO-148.patch

revised patch, adds c++ docs to site.xml

> Add ant target to build c++ project
> ---
>
> Key: AVRO-148
> URL: https://issues.apache.org/jira/browse/AVRO-148
> Project: Avro
>  Issue Type: Improvement
>  Components: c++
>Reporter: Scott Banachowski
>Assignee: Scott Banachowski
> Attachments: applypatch148.sh, AVRO-148.patch, AVRO-148.patch
>
>
> I have a preliminary patch for this, but it has a dependency on AVRO-147, so 
> I'm waiting to commit that before posting this.

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



[jira] Updated: (AVRO-148) Add ant target to build c++ project

2009-10-19 Thread Scott Banachowski (JIRA)

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

Scott Banachowski updated AVRO-148:
---

Attachment: (was: AVRO-148.patch)

> Add ant target to build c++ project
> ---
>
> Key: AVRO-148
> URL: https://issues.apache.org/jira/browse/AVRO-148
> Project: Avro
>  Issue Type: Improvement
>  Components: c++
>Reporter: Scott Banachowski
>Assignee: Scott Banachowski
> Attachments: applypatch148.sh, AVR0-148.patch, AVRO-148.patch
>
>
> I have a preliminary patch for this, but it has a dependency on AVRO-147, so 
> I'm waiting to commit that before posting this.

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



[jira] Updated: (AVRO-148) Add ant target to build c++ project

2009-10-19 Thread Scott Banachowski (JIRA)

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

Scott Banachowski updated AVRO-148:
---

Attachment: AVR0-148.patch

> Add ant target to build c++ project
> ---
>
> Key: AVRO-148
> URL: https://issues.apache.org/jira/browse/AVRO-148
> Project: Avro
>  Issue Type: Improvement
>  Components: c++
>Reporter: Scott Banachowski
>Assignee: Scott Banachowski
> Attachments: applypatch148.sh, AVR0-148.patch, AVRO-148.patch
>
>
> I have a preliminary patch for this, but it has a dependency on AVRO-147, so 
> I'm waiting to commit that before posting this.

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



[jira] Created: (AVRO-157) Changes from code review

2009-10-20 Thread Scott Banachowski (JIRA)
Changes from code review


 Key: AVRO-157
 URL: https://issues.apache.org/jira/browse/AVRO-157
 Project: Avro
  Issue Type: Improvement
  Components: c++
Reporter: Scott Banachowski


A couple weeks ago, Thiru did a walk-through of the code, and made some 
suggestions, which included:
some reorganization
thread safety
renaming some functions
some minor nit picking

This patch is the result of those comments.  Nothing major has changed, but 
lots of code was touched due to renames, etc.


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



[jira] Updated: (AVRO-157) Changes from code review

2009-10-20 Thread Scott Banachowski (JIRA)

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

Scott Banachowski updated AVRO-157:
---

Attachment: applypatch157.sh
AVRO-157.patch

copy patch and sh to your trunk directory, then 
sh applypatch157.sh


> Changes from code review
> 
>
> Key: AVRO-157
> URL: https://issues.apache.org/jira/browse/AVRO-157
> Project: Avro
>  Issue Type: Improvement
>  Components: c++
>Reporter: Scott Banachowski
> Attachments: applypatch157.sh, AVRO-157.patch
>
>
> A couple weeks ago, Thiru did a walk-through of the code, and made some 
> suggestions, which included:
> some reorganization
> thread safety
> renaming some functions
> some minor nit picking
> This patch is the result of those comments.  Nothing major has changed, but 
> lots of code was touched due to renames, etc.

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



[jira] Updated: (AVRO-157) Changes from code review

2009-10-20 Thread Scott Banachowski (JIRA)

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

Scott Banachowski updated AVRO-157:
---

Status: Patch Available  (was: Open)

> Changes from code review
> 
>
> Key: AVRO-157
> URL: https://issues.apache.org/jira/browse/AVRO-157
> Project: Avro
>  Issue Type: Improvement
>  Components: c++
>Reporter: Scott Banachowski
> Attachments: applypatch157.sh, AVRO-157.patch
>
>
> A couple weeks ago, Thiru did a walk-through of the code, and made some 
> suggestions, which included:
> some reorganization
> thread safety
> renaming some functions
> some minor nit picking
> This patch is the result of those comments.  Nothing major has changed, but 
> lots of code was touched due to renames, etc.

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



[jira] Updated: (AVRO-148) Add ant target to build c++ project

2009-10-20 Thread Scott Banachowski (JIRA)

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

Scott Banachowski updated AVRO-148:
---

Resolution: Fixed
Status: Resolved  (was: Patch Available)

Thanks for testing.  I committed revision 827822.

> Add ant target to build c++ project
> ---
>
> Key: AVRO-148
> URL: https://issues.apache.org/jira/browse/AVRO-148
> Project: Avro
>  Issue Type: Improvement
>  Components: c++
>Reporter: Scott Banachowski
>Assignee: Scott Banachowski
> Attachments: applypatch148.sh, AVR0-148.patch, AVRO-148.patch
>
>
> I have a preliminary patch for this, but it has a dependency on AVRO-147, so 
> I'm waiting to commit that before posting this.

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



[jira] Commented: (AVRO-47) Byte sequence to be represented as void*

2009-10-20 Thread Scott Banachowski (JIRA)

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

Scott Banachowski commented on AVRO-47:
---

I tend to agree with Thiru on this issue.  In most C++ projects I've 
participated, use of void* is discouraged in favor of types, in light of C++'s 
stronger type support.

To me, void* is too opaque, it implies a type that may not be serializeable.  
Whereas when you cast to uint8_t*, the expectation is that the data can be 
interpreted as a contiguous array of bytes.





> Byte sequence to be represented as void*
> 
>
> Key: AVRO-47
> URL: https://issues.apache.org/jira/browse/AVRO-47
> Project: Avro
>  Issue Type: Bug
>  Components: c++
>Reporter: Arvind Jayaprakash
> Attachments: AVRO-47
>
>
> The current function prototype for serializin bytes is as follows:
> void putBytes(const uint8_t *val, size_t size)
> This is better written as
> void putBytes(const void *val, size_t size)
> Using void* in favour of an int based data type frees us from unnecessary 
> casting opaque bytes from arbitrary stuctures/classes into "integer". This is 
> consistent with say a function like memcpy()

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



[jira] Updated: (AVRO-157) Changes from code review

2009-10-20 Thread Scott Banachowski (JIRA)

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

Scott Banachowski updated AVRO-157:
---

Attachment: (was: AVRO-157.patch)

> Changes from code review
> 
>
> Key: AVRO-157
> URL: https://issues.apache.org/jira/browse/AVRO-157
> Project: Avro
>  Issue Type: Improvement
>  Components: c++
>Reporter: Scott Banachowski
> Attachments: applypatch157.sh, AVRO-157.patch
>
>
> A couple weeks ago, Thiru did a walk-through of the code, and made some 
> suggestions, which included:
> some reorganization
> thread safety
> renaming some functions
> some minor nit picking
> This patch is the result of those comments.  Nothing major has changed, but 
> lots of code was touched due to renames, etc.

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



[jira] Updated: (AVRO-157) Changes from code review

2009-10-20 Thread Scott Banachowski (JIRA)

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

Scott Banachowski updated AVRO-157:
---

Attachment: AVRO-157.patch

Revised patch, the original one won't work after AVRO-148 was committed.  This 
patch is now compatible with the current revision.


> Changes from code review
> 
>
> Key: AVRO-157
> URL: https://issues.apache.org/jira/browse/AVRO-157
> Project: Avro
>  Issue Type: Improvement
>  Components: c++
>Reporter: Scott Banachowski
> Attachments: applypatch157.sh, AVRO-157.patch
>
>
> A couple weeks ago, Thiru did a walk-through of the code, and made some 
> suggestions, which included:
> some reorganization
> thread safety
> renaming some functions
> some minor nit picking
> This patch is the result of those comments.  Nothing major has changed, but 
> lots of code was touched due to renames, etc.

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



[jira] Commented: (AVRO-163) Each language Avro supports should be a separate package

2009-10-27 Thread Scott Banachowski (JIRA)

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

Scott Banachowski commented on AVRO-163:


Matt, no problem if want to do the C++ changes.  Let me know if I can help.  
Scott


> Each language Avro supports should be a separate package
> 
>
> Key: AVRO-163
> URL: https://issues.apache.org/jira/browse/AVRO-163
> Project: Avro
>  Issue Type: Improvement
>  Components: c, c++, java, python
>Affects Versions: 1.0.0, 1.1.0, 1.2.0
> Environment: We currently release Avro as a single monolithic tarball 
> with ant being used to build all the languages that Avro supports.
>Reporter: Matt Massie
>Assignee: Matt Massie
>Priority: Critical
> Fix For: 1.2.1, 1.3.0
>
> Attachments: AVRO-163.patch, AVRO-163.patch
>
>   Original Estimate: 8h
>  Remaining Estimate: 8h
>
> *Build Issue*
> While ant is used for building Java projects, it is almost never used to 
> build python, c++ or c projects.  C and C++ projects are often managed using 
> autotools while Python uses setuptools.  Forcing these languages to use a 
> foreign build system ('ant') is suboptimal and will cause us headaches as we 
> move forward.
> *Release issue*
> Releasing a single monolithic package forces users of one language to 
> download binary and source for all languages.  For example, at this time the 
> Avro C distribution is only 384K in size (built using autotools 'make 
> distcheck' target).  People interested in using the C implementation would be 
> forced to download a large monolithic tarball (currently 3.8 MB) that 
> includes dozens of third-party jar files for the Java implementation.  
> Furthermore, C users would be forced to use 'ant' as the top-level build 
> tool.  This monolithic approach would also prevent us from submitting Avro 
> for inclusion in Linux distribution yum/apt repositories as RPM and Debian 
> packages.  It's important to allow C/C++ code to have a pristine release 
> tarball on which to base Debian and RPM packaging.
> *Solution*
> Create top-level directories: 'java', 'python', 'c++ ' , 'c', 'shared' and 
> 'release'.  Each language directory would contain the source for that 
> language and use the build system natural for that language, e.g. ant, 
> autotools, setuptools, gem, etc.  The 'shared' directory would have, for 
> example, common test schema and data files for interoperability testing 
> between each language.  A simple top-level bash script would call into each 
> language to build a release package, documentation, etc. into the 'release' 
> directory.  Each Avro release would then be compromised of package(s) for 
> each language Avro supports, e.g. avro-java-1.2.3.tar.gz, 
> pyavro-1.2.3.tar.gz, avro-c++-1.2.3.tar.gz and avro-c-1.2.3.tar.gz.  Later 
> on, we'll also likely have libavro-devel-1.2.3-1.x86_64.rpm too.

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



[jira] Commented: (AVRO-163) Each language Avro supports should be a separate package

2009-10-28 Thread Scott Banachowski (JIRA)

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

Scott Banachowski commented on AVRO-163:


Hi Matt
I tried the patch.  ant tar-cpp doesn't quite work.  The reason is that it goes 
to the source directory and does "make clean", but until configure is run, 
there is no makefile so the command fails and ant stops.

It's a pretty good guess if there's no Makefile in the source directory that it 
is already clean, so we could just set  failonerror="false" for that step.  Or 
first check for the presence of Makefile and skip that step if it does not 
exist.  

Another comment, should this step call "make distclean" instead of "make clean" 
  Clean won't usually remove the Makefile and other products of configure, but 
distclean should.  (BTW c++ I didn't use the full autotools chain, so my 
targets may not be fully gnupliant. but I can certainly add a disctlean target 
if needed).




> Each language Avro supports should be a separate package
> 
>
> Key: AVRO-163
> URL: https://issues.apache.org/jira/browse/AVRO-163
> Project: Avro
>  Issue Type: Improvement
>  Components: c, c++, java, python
>Affects Versions: 1.0.0, 1.1.0, 1.2.0
> Environment: We currently release Avro as a single monolithic tarball 
> with ant being used to build all the languages that Avro supports.
>Reporter: Matt Massie
>Assignee: Matt Massie
>Priority: Critical
> Fix For: 1.2.1, 1.3.0
>
> Attachments: AVRO-163-cpp.patch, AVRO-163.patch, AVRO-163.patch
>
>   Original Estimate: 8h
>  Remaining Estimate: 8h
>
> *Build Issue*
> While ant is used for building Java projects, it is almost never used to 
> build python, c++ or c projects.  C and C++ projects are often managed using 
> autotools while Python uses setuptools.  Forcing these languages to use a 
> foreign build system ('ant') is suboptimal and will cause us headaches as we 
> move forward.
> *Release issue*
> Releasing a single monolithic package forces users of one language to 
> download binary and source for all languages.  For example, at this time the 
> Avro C distribution is only 384K in size (built using autotools 'make 
> distcheck' target).  People interested in using the C implementation would be 
> forced to download a large monolithic tarball (currently 3.8 MB) that 
> includes dozens of third-party jar files for the Java implementation.  
> Furthermore, C users would be forced to use 'ant' as the top-level build 
> tool.  This monolithic approach would also prevent us from submitting Avro 
> for inclusion in Linux distribution yum/apt repositories as RPM and Debian 
> packages.  It's important to allow C/C++ code to have a pristine release 
> tarball on which to base Debian and RPM packaging.
> *Solution*
> Create top-level directories: 'java', 'python', 'c++ ' , 'c', 'shared' and 
> 'release'.  Each language directory would contain the source for that 
> language and use the build system natural for that language, e.g. ant, 
> autotools, setuptools, gem, etc.  The 'shared' directory would have, for 
> example, common test schema and data files for interoperability testing 
> between each language.  A simple top-level bash script would call into each 
> language to build a release package, documentation, etc. into the 'release' 
> directory.  Each Avro release would then be compromised of package(s) for 
> each language Avro supports, e.g. avro-java-1.2.3.tar.gz, 
> pyavro-1.2.3.tar.gz, avro-c++-1.2.3.tar.gz and avro-c-1.2.3.tar.gz.  Later 
> on, we'll also likely have libavro-devel-1.2.3-1.x86_64.rpm too.

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



[jira] Commented: (AVRO-163) Each language Avro supports should be a separate package

2009-10-28 Thread Scott Banachowski (JIRA)

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

Scott Banachowski commented on AVRO-163:


I'll convert to automake sometime soon--it'll give me a chance to better learn 
those tools.  But until then, we can do the no-failonerror approach.

> Each language Avro supports should be a separate package
> 
>
> Key: AVRO-163
> URL: https://issues.apache.org/jira/browse/AVRO-163
> Project: Avro
>  Issue Type: Improvement
>  Components: c, c++, java, python
>Affects Versions: 1.0.0, 1.1.0, 1.2.0
> Environment: We currently release Avro as a single monolithic tarball 
> with ant being used to build all the languages that Avro supports.
>Reporter: Matt Massie
>Assignee: Matt Massie
>Priority: Critical
> Fix For: 1.2.1, 1.3.0
>
> Attachments: AVRO-163-cpp.patch, AVRO-163.patch, AVRO-163.patch
>
>   Original Estimate: 8h
>  Remaining Estimate: 8h
>
> *Build Issue*
> While ant is used for building Java projects, it is almost never used to 
> build python, c++ or c projects.  C and C++ projects are often managed using 
> autotools while Python uses setuptools.  Forcing these languages to use a 
> foreign build system ('ant') is suboptimal and will cause us headaches as we 
> move forward.
> *Release issue*
> Releasing a single monolithic package forces users of one language to 
> download binary and source for all languages.  For example, at this time the 
> Avro C distribution is only 384K in size (built using autotools 'make 
> distcheck' target).  People interested in using the C implementation would be 
> forced to download a large monolithic tarball (currently 3.8 MB) that 
> includes dozens of third-party jar files for the Java implementation.  
> Furthermore, C users would be forced to use 'ant' as the top-level build 
> tool.  This monolithic approach would also prevent us from submitting Avro 
> for inclusion in Linux distribution yum/apt repositories as RPM and Debian 
> packages.  It's important to allow C/C++ code to have a pristine release 
> tarball on which to base Debian and RPM packaging.
> *Solution*
> Create top-level directories: 'java', 'python', 'c++ ' , 'c', 'shared' and 
> 'release'.  Each language directory would contain the source for that 
> language and use the build system natural for that language, e.g. ant, 
> autotools, setuptools, gem, etc.  The 'shared' directory would have, for 
> example, common test schema and data files for interoperability testing 
> between each language.  A simple top-level bash script would call into each 
> language to build a release package, documentation, etc. into the 'release' 
> directory.  Each Avro release would then be compromised of package(s) for 
> each language Avro supports, e.g. avro-java-1.2.3.tar.gz, 
> pyavro-1.2.3.tar.gz, avro-c++-1.2.3.tar.gz and avro-c-1.2.3.tar.gz.  Later 
> on, we'll also likely have libavro-devel-1.2.3-1.x86_64.rpm too.

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



[jira] Updated: (AVRO-157) Changes from code review

2009-10-28 Thread Scott Banachowski (JIRA)

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

Scott Banachowski updated AVRO-157:
---

Resolution: Fixed
Status: Resolved  (was: Patch Available)

Committed revision 830750.

I went ahead and committed these, since changes were already previously 
suggested, and there were no further comments.
Thanks to Thiru for his suggestions, and if anybody else has input please feel 
free to make suggestions or submit patches.





> Changes from code review
> 
>
> Key: AVRO-157
> URL: https://issues.apache.org/jira/browse/AVRO-157
> Project: Avro
>  Issue Type: Improvement
>  Components: c++
>Reporter: Scott Banachowski
> Attachments: applypatch157.sh, AVRO-157.patch
>
>
> A couple weeks ago, Thiru did a walk-through of the code, and made some 
> suggestions, which included:
> some reorganization
> thread safety
> renaming some functions
> some minor nit picking
> This patch is the result of those comments.  Nothing major has changed, but 
> lots of code was touched due to renames, etc.

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



[jira] Created: (AVRO-176) file status is not checked before attempting to read it in c++

2009-10-29 Thread Scott Banachowski (JIRA)
file status is not checked before attempting to read it in c++
--

 Key: AVRO-176
 URL: https://issues.apache.org/jira/browse/AVRO-176
 Project: Avro
  Issue Type: Bug
  Components: c++
Reporter: Scott Banachowski


When an istream object is passed to the avro compiler, it doesn't check if the 
file is actually opened successfully before attempting to read it.  This leads 
to a bug when the wrong path for a schema file is provided.





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



[jira] Updated: (AVRO-176) file status is not checked before attempting to read it in c++

2009-10-29 Thread Scott Banachowski (JIRA)

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

Scott Banachowski updated AVRO-176:
---

Attachment: AVRO-176.patch

Adds a safeguard check for a bad istream.  Also adds unit tests for it.


> file status is not checked before attempting to read it in c++
> --
>
> Key: AVRO-176
> URL: https://issues.apache.org/jira/browse/AVRO-176
> Project: Avro
>  Issue Type: Bug
>  Components: c++
>Reporter: Scott Banachowski
> Attachments: AVRO-176.patch
>
>
> When an istream object is passed to the avro compiler, it doesn't check if 
> the file is actually opened successfully before attempting to read it.  This 
> leads to a bug when the wrong path for a schema file is provided.

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



[jira] Updated: (AVRO-176) file status is not checked before attempting to read it in c++

2009-10-29 Thread Scott Banachowski (JIRA)

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

Scott Banachowski updated AVRO-176:
---

Status: Patch Available  (was: Open)

> file status is not checked before attempting to read it in c++
> --
>
> Key: AVRO-176
> URL: https://issues.apache.org/jira/browse/AVRO-176
> Project: Avro
>  Issue Type: Bug
>  Components: c++
>Reporter: Scott Banachowski
> Attachments: AVRO-176.patch
>
>
> When an istream object is passed to the avro compiler, it doesn't check if 
> the file is actually opened successfully before attempting to read it.  This 
> leads to a bug when the wrong path for a schema file is provided.

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



[jira] Updated: (AVRO-176) file status is not checked before attempting to read it in c++

2009-10-29 Thread Scott Banachowski (JIRA)

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

Scott Banachowski updated AVRO-176:
---

Resolution: Fixed
Status: Resolved  (was: Patch Available)

Committed revision 831187.

> file status is not checked before attempting to read it in c++
> --
>
> Key: AVRO-176
> URL: https://issues.apache.org/jira/browse/AVRO-176
> Project: Avro
>  Issue Type: Bug
>  Components: c++
>Reporter: Scott Banachowski
> Attachments: AVRO-176.patch
>
>
> When an istream object is passed to the avro compiler, it doesn't check if 
> the file is actually opened successfully before attempting to read it.  This 
> leads to a bug when the wrong path for a schema file is provided.

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



[jira] Created: (AVRO-180) Increase some c++ unit test coverage

2009-11-03 Thread Scott Banachowski (JIRA)
Increase some c++ unit test coverage


 Key: AVRO-180
 URL: https://issues.apache.org/jira/browse/AVRO-180
 Project: Avro
  Issue Type: Improvement
  Components: c++
Reporter: Scott Banachowski


This path primarily adds some unittest coverage, with a couple of minor fixes, 
and some enhancements to the code generation script (it now processes command 
line arguments using getopt)

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



[jira] Updated: (AVRO-180) Increase some c++ unit test coverage

2009-11-03 Thread Scott Banachowski (JIRA)

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

Scott Banachowski updated AVRO-180:
---

Status: Patch Available  (was: Open)

> Increase some c++ unit test coverage
> 
>
> Key: AVRO-180
> URL: https://issues.apache.org/jira/browse/AVRO-180
> Project: Avro
>  Issue Type: Improvement
>  Components: c++
>Reporter: Scott Banachowski
> Attachments: AVRO-180.patch
>
>
> This path primarily adds some unittest coverage, with a couple of minor 
> fixes, and some enhancements to the code generation script (it now processes 
> command line arguments using getopt)

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



[jira] Updated: (AVRO-180) Increase some c++ unit test coverage

2009-11-03 Thread Scott Banachowski (JIRA)

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

Scott Banachowski updated AVRO-180:
---

Attachment: AVRO-180.patch

> Increase some c++ unit test coverage
> 
>
> Key: AVRO-180
> URL: https://issues.apache.org/jira/browse/AVRO-180
> Project: Avro
>  Issue Type: Improvement
>  Components: c++
>Reporter: Scott Banachowski
> Attachments: AVRO-180.patch
>
>
> This path primarily adds some unittest coverage, with a couple of minor 
> fixes, and some enhancements to the code generation script (it now processes 
> command line arguments using getopt)

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



[jira] Updated: (AVRO-180) Increase some c++ unit test coverage

2009-11-03 Thread Scott Banachowski (JIRA)

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

Scott Banachowski updated AVRO-180:
---

Resolution: Fixed
Status: Resolved  (was: Patch Available)

Committed revision 832499.

> Increase some c++ unit test coverage
> 
>
> Key: AVRO-180
> URL: https://issues.apache.org/jira/browse/AVRO-180
> Project: Avro
>  Issue Type: Improvement
>  Components: c++
>Reporter: Scott Banachowski
> Attachments: AVRO-180.patch
>
>
> This path primarily adds some unittest coverage, with a couple of minor 
> fixes, and some enhancements to the code generation script (it now processes 
> command line arguments using getopt)

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



[jira] Commented: (AVRO-181) avro trunk build is failing with missing boot libraries

2009-11-04 Thread Scott Banachowski (JIRA)

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

Scott Banachowski commented on AVRO-181:


You need to install boost in order to build avro c++.   Because c++ tests gets 
invoked at at top-level ant build, this will trigger (even if you don't intend 
to use the c++ version).

The path of least resistance may be to install boost.  If you're a developer, 
you probably should have boost anyway :).  I think the future changes to 
packaging that Matt is working on may fix this though, at least make it easier 
to selectively build different bindings.



> avro trunk build is failing with missing boot libraries
> ---
>
> Key: AVRO-181
> URL: https://issues.apache.org/jira/browse/AVRO-181
> Project: Avro
>  Issue Type: Task
>Reporter: Giridharan Kesavan
>
>[exec] checking for flex... no
>  [exec] checking for lex... no
>  [exec] checking for bison... no
>  [exec] checking for byacc... no
>  [exec] checking for doxygen... no
>  [exec] checking for python... python
>  [exec] configure: error: We could not detect the boost libraries 
> (version 1.32 or higher). If you have a staged boost library (still not 
> installed) please specify $BOOST_ROOT in your environment and do not give a 
> PATH to --with-boost option.  If you are sure you have boost installed, then 
> check your version number looking in . See 
> http://randspringer.de/boost for more documentation.
>  [exec] checking for boostlib >= 1.32.0... 
> here is the link ref: 
> http://hudson.zones.apache.org/hudson/view/Hadoop/job/Hadoop-Avro-Trunk/21/console

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



[jira] Commented: (AVRO-181) avro trunk build is failing with missing boot libraries

2009-11-04 Thread Scott Banachowski (JIRA)

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

Scott Banachowski commented on AVRO-181:


I just realized this is a hudson-generated build, so I assume you're doing some 
nightly builds/regressions.  Is it possible to install boost on your hudson 
machines?  It would be nice to get coverage of c++ with your automated builds.


> avro trunk build is failing with missing boot libraries
> ---
>
> Key: AVRO-181
> URL: https://issues.apache.org/jira/browse/AVRO-181
> Project: Avro
>  Issue Type: Task
>Reporter: Giridharan Kesavan
>
>[exec] checking for flex... no
>  [exec] checking for lex... no
>  [exec] checking for bison... no
>  [exec] checking for byacc... no
>  [exec] checking for doxygen... no
>  [exec] checking for python... python
>  [exec] configure: error: We could not detect the boost libraries 
> (version 1.32 or higher). If you have a staged boost library (still not 
> installed) please specify $BOOST_ROOT in your environment and do not give a 
> PATH to --with-boost option.  If you are sure you have boost installed, then 
> check your version number looking in . See 
> http://randspringer.de/boost for more documentation.
>  [exec] checking for boostlib >= 1.32.0... 
> here is the link ref: 
> http://hudson.zones.apache.org/hudson/view/Hadoop/job/Hadoop-Avro-Trunk/21/console

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



[jira] Created: (AVRO-190) use fixed size c++ types for avro fixed types

2009-11-10 Thread Scott Banachowski (JIRA)
use fixed size c++ types for avro fixed types
-

 Key: AVRO-190
 URL: https://issues.apache.org/jira/browse/AVRO-190
 Project: Avro
  Issue Type: Improvement
Reporter: Scott Banachowski


Currently, the C++ apis convert avro fixed types to and from std::vector.  This 
switches the api calls to use fixed types (e.g. either boost::array 
or C style arrays uint8_t (&)[N])



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



  1   2   3   >