rzo1 opened a new pull request, #2076: URL: https://github.com/apache/stormcrawler/pull/2076
`StatusUpdaterBolt` wrote the metadata column by concatenating `\t` + key + `=` + value with no escaping, and the read side split on those same characters, so a value containing a tabulation came back as one or more extra keys. The column is now written in an escaped form behind a `v1` marker; rows written by earlier versions are still decoded exactly as before, so no migration is needed. Note a downgrade is not clean, and existing rows are not repaired: worth grepping the metadata column of an existing table for tabulations. Also guards `Date.from(Instant.parse(...))` in `AbstractStatusUpdaterBolt`, which sat outside the try/catch, so an unparsable `status.store.as.is.with.nextfetchdate` no longer takes the bolt down; it is logged and the URL goes through the normal scheduler. `SQLSpout` no longer routes through `StringTabScheme`, whose behaviour is unchanged for the seed-file spouts that rely on it. ### For all changes - [ ] Is there a issue associated with this PR? Is it referenced in the commit message? - no issue - [ ] Does your PR title start with `#XXXX` where `XXXX` is the issue number you are trying to resolve? - no issue - [x] Has your PR been rebased against the latest commit within the target branch (typically main)? - [x] Is your initial contribution a single, squashed commit? - [x] Is the code properly formatted with `mvn git-code-format:format-code -Dgcf.globPattern="**/*" -Dskip.format.code=false`? ### For code changes - [ ] Have you ensured that the full suite of tests is executed via `mvn clean verify`? - `core` and the full `external/sql` suite against the MySQL container (18 tests, all green), not a full `mvn clean verify` - [x] Have you written or updated unit tests to verify your changes? - round-trip tests for the new encoding and for the date guard - [x] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under [ASF 2.0](http://www.apache.org/legal/resolved.html#category-a)? - no new dependencies - [x] If applicable, have you updated the LICENSE file, including the main LICENSE file? - n/a - [x] If applicable, have you updated the NOTICE file, including the main NOTICE file? - n/a -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
