[jira] Created: (AVRO-42) C++ avro
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
[ 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
[ 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
[ 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
[ 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
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
[ 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
[ 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
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
[ 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
[ 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
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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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++
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++
[ 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
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)
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
[ 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
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++
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
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
[ 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
[ 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
[ 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
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
[ 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
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
[ 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
[ 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
[ 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
[ 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)
[ 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)
[ 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++
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++
[ 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++
[ 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++
[ 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++
[ 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++
[ 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++
[ 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
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
[ 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
[ 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
[ 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
[ 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
[ 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++
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++
[ 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++
[ 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++
[ 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++
[ 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++
[ 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++
[ 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++
[ 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
[ 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
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++
[ 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++
[ 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++
[ 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++
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
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
[ 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
[ 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
[ 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*
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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++
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++
[ 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++
[ 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++
[ 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
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
[ 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
[ 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
[ 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
[ 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
[ 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
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.