I've set a codec on the BigQuery output plugin in my pipeline:
google_bigquery {
codec => "my-custom-codec"
...
}
The codec itself works great with an output like "stdout" but I've spent a considerable amount of time trying to work out why it wouldn't work with google_bigquery. I did some digging and saw that the "multi_receive" method of the base output checks for a particular method to be implemented and if it isn't, doesn't apply the codec: https://github.com/elastic/logstash/blob/e9c9865f4066b54048f8d708612a72d25e2fe5d9/logstash-core/lib/logstash/outputs/base.rb#L101
Is this the reason that the codec is not being applied? In the BigQuery output: https://github.com/logstash-plugins/logstash-output-google_bigquery/blob/master/lib/logstash/outputs/google_bigquery.rb only "receive" is defined. "multi_receive" is not overridden and the "multi_receive_encoded" method is also not defined.