The problem is actually more general than just errors decoding, but it is even rarer that a ping will pass normal validation and have total garbage in appBuildId or appVersion. But (of course) this just happened. I have more workarounds in place, but if I don't get to implementing the proper fix this week I'll have to move it to next sprint.

This bug was originally for the heka protobuf s3 output, but extends to parquet output as well. With the heka protobuf output, we have a mechanism for specifying that unknown dimension values be bucketed into OTHER (which has its own problems) but we don't have this for parquet.
As such, when using non-normalized dimensions such as appName for partitions we can end up causing a couple of issues. A specific bad case is when there are single quotes in an appName, which won't result in a valid s3 object name.
I have workarounds in place (message matchers), but having a general mechanism to enforce a schema on URL fields above the basic structure we require may be a better way to go than fixing / unifying the heka and parquet output file/object name logic.