X-Git-Url: https://git.openstreetmap.org/chef.git/blobdiff_plain/8e8c8f5556636d6369feb3c6ef7f05b93e39e763..3842b457f8c47904305387c679896e750f521929:/cookbooks/planet/files/default/replication-bin/replicate-changesets diff --git a/cookbooks/planet/files/default/replication-bin/replicate-changesets b/cookbooks/planet/files/default/replication-bin/replicate-changesets index 8fd78a1bc..45e1a4a1c 100644 --- a/cookbooks/planet/files/default/replication-bin/replicate-changesets +++ b/cookbooks/planet/files/default/replication-bin/replicate-changesets @@ -18,7 +18,7 @@ GEO_SCALE = 10000000 ## # replace characters which cannot be represented in XML 1.0. def xml_sanitize(str) - str.gsub(/[\x00-\x08\x0b\x0c\x0e-\x20]/, "?") + str.gsub(/[\x00-\x08\x0b\x0c\x0e-\x1f]/, "?") end ## @@ -196,18 +196,20 @@ class Replicator FileUtils.mkdir_p(File.dirname(data_file)) Zlib::GzipWriter.open(tmp_data) do |fh| fh.write(changeset_dump(open_changesets)) + fh.fdatasync end @state["sequence"] = sequence File.open(tmp_state, "w") do |fh| fh.write(YAML.dump(@state)) + fh.fdatasync end # sanity check: the files we're moving into place # should be non-empty. - fail "Temporary gzip file should exist, but doesn't." unless File.exist?(tmp_data) - fail "Temporary state file should exist, but doesn't." unless File.exist?(tmp_state) - fail "Temporary gzip file should be non-empty, but isn't." if File.zero?(tmp_data) - fail "Temporary state file should be non-empty, but isn't." if File.zero?(tmp_state) + raise "Temporary gzip file should exist, but doesn't." unless File.exist?(tmp_data) + raise "Temporary state file should exist, but doesn't." unless File.exist?(tmp_state) + raise "Temporary gzip file should be non-empty, but isn't." if File.zero?(tmp_data) + raise "Temporary state file should be non-empty, but isn't." if File.zero?(tmp_state) FileUtils.mv(tmp_data, data_file) FileUtils.mv(tmp_state, @config["state_file"])