google-nomulus/java/google/registry
nickfelt a4091594d0 Add new JSON logging to FlowRunner for EPP activity reporting
We've been using the very fragile newline-delimited legacy logging
statement in FlowRunner for ICANN reporting for a long time.  While
this is bad in a few ways, the worst is that the parsing of this
logging statement is extremely fragile (e.g. adding/removing fields
can easily break the parsing).  This is in fact part of what broke the
ExportLogsServlet parsing last fall ([] and forced us to
recover by manually parsing the log statement (and its XML) in
BigQuery.  It also broke again in [] where we were relying
on matching the logging classname, since matching on 'EPP Command'
was considered insufficiently narrow.

This introduces a new JSON-format logging statement to FlowRunner
that fixes both of these problems:

 1) it replaces the newline-delimited "format" with a JSON-based
    format, so that we can add new fields much more easily and
    reliably support logging more structured data

 2) it replaces the short 'EPP Command' signature with a much more
    targeted 'EPP-REPORTING-LOG-SIGNATURE' signature so that we can
    use that alone for matching, rather than relying on the class
    name in the log message

What this doesn't fix is the fact that we still need to parse the
XML in BigQuery; we should fix this by logging the parts of the XML
that ICANN reporting needs explicitly, but that'll be a subsequent
change, since while the existing approach is gross, it's actually
much less fragile than just matching the log statement itself.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=125902976
2016-06-27 16:45:55 -04:00
..
backup Rename Java packages to use the .google TLD 2016-05-13 20:04:42 -04:00
bigquery Replace nested @Multibindings interfaces with the new @Multibinds feature. See [] 2016-06-27 16:37:42 -04:00
billing Make open source build pass 2016-06-14 16:33:56 -04:00
braintree Rename Java packages to use the .google TLD 2016-05-13 20:04:42 -04:00
config Add configurable escrow file import GCS bucket 2016-06-06 13:31:10 -04:00
cron Rename Java packages to use the .google TLD 2016-05-13 20:04:42 -04:00
dns Cleanup DnsUpdateWriter 2016-06-14 16:33:26 -04:00
eclipse Integrate: Eclipse file generation script 2016-05-16 18:39:45 -04:00
env Add MR to expand billing events into OneTimes 2016-06-14 16:31:00 -04:00
export Fix latest_snapshot "pointer" query to use to fully-qualified table reference 2016-06-27 16:09:10 -04:00
flows Add new JSON logging to FlowRunner for EPP activity reporting 2016-06-27 16:45:55 -04:00
gcs Rename Java packages to use the .google TLD 2016-05-13 20:04:42 -04:00
groups Migrate @Provides(type=SET_VALUES) to @ElementsIntoSet 2016-05-13 23:19:48 -04:00
idn Rename Java packages to use the .google TLD 2016-05-13 20:04:42 -04:00
keyring/api Rename Java packages to use the .google TLD 2016-05-13 20:04:42 -04:00
loadtest Make open source build pass 2016-06-14 16:33:56 -04:00
mapreduce Add scaffolding of deeplinking verification [] 2016-06-06 12:11:59 -04:00
model Cut RegistryCursor over to global cursors 2016-06-27 16:44:35 -04:00
module Make deeplinking verification calls to IRDB 2016-06-27 16:30:45 -04:00
monitoring/whitebox Format EppMetrics a bit nicer 2016-06-27 15:59:16 -04:00
pricing Rename PricingEngine to PremiumPricingEngine 2016-06-14 16:29:52 -04:00
rdap Registrant of a domain can never be null 2016-05-18 13:10:18 -04:00
rde Cut RegistryCursor over to global cursors 2016-06-27 16:44:35 -04:00
request Remove unused class 2016-06-27 16:32:08 -04:00
security Make javadoc <p> style guide compliant 2016-05-18 13:09:01 -04:00
storage/drive Rename Java packages to use the .google TLD 2016-05-13 20:04:42 -04:00
tldconfig/idn Prefer re2 over java.util.regex 2016-05-13 23:16:07 -04:00
tmch Make javadoc <p> style guide compliant 2016-05-18 13:09:01 -04:00
tools Cut RegistryCursor over to global cursors 2016-06-27 16:44:35 -04:00
ui Turn CheckApiAction into a standard-ish epp endpoint 2016-06-27 16:22:12 -04:00
util Clean up the tattered shreds of SessionMetadata 2016-06-27 16:20:48 -04:00
whois Remove unused and misused methods from EppResourceUtils and DomainBase. 2016-05-16 18:39:23 -04:00
xjc Fix generics in EppXmlTransformer.unmarshal to not be only on the return type. 2016-06-27 15:55:03 -04:00
xml Fix generics in EppXmlTransformer.unmarshal to not be only on the return type. 2016-06-27 15:55:03 -04:00
BUILD Make new source tree visible from internal release files 2016-05-13 23:16:01 -04:00
repositories.bzl Upgrade apache_sshd CL #2: Update to v1_2_0 2016-06-27 16:41:48 -04:00