mirror of
https://github.com/1f349/dendrite.git
synced 2024-12-29 11:36:28 +00:00
7736e247b7
* Prevent sql scanning into nil value in accounts_table Signed-off-by: Andrew Morgan <andrewm@matrix.org> * Remove uneccessary logging, null checking * Don't forget to set the localpart * Simplify error checking * Store And Send Application Service Events * Modify INSTALL.md and dendrite-config.yaml for the new appservice database * Correct all instances of casing on 'application service' to align with spec * Store incoming events that an app service is interested in in the database to be later read by transaction workers. * Retrieve these events from transaction workers, one per AS. * Minimal transaction ID data is stored as well to recover after server failure. * Send events to AS and exponentially backoff on failure. Signed-off-by: Andrew Morgan <andrewm@matrix.org> * Finish my own sentences. * Fix up database interaction * Change to event-based AS sending * Reduce cyclomatic complexity * Appease the errcheck gods * Delete by int ID instead of string. This was causing some events to not be deleted, as < an eventID doesn't really make much sense. * Check if there are more events to send before sleeping * Send same transaction if last send attempt failed * Don't backoff on non-200s, tight send loop, 1 event query * Remove tight send loop. Fix events not being deleted * Additionally order by event id, track main.go * Return the last txnID, which our events are using * Remove old main.go file * Prevent duplicate events from being sent... * Strip event content if it doesn't contain anything Signed-off-by: Andrew Morgan <andrewm@matrix.org> * Update gomatrixserverlib and use Unsigned AS event prop * Fixes * Fix sync server comment * Remove unnecessary printlns * Use logrus Fields * Worker state methods * Remove sillyness * Fix up event filtering * Handle transaction event limit in loop * Switch to using a sequence for transaction IDs * Don't verify self-signed AS certificates * Fix logging * Use gmsl.Event instead of AS-only event in transactions Also clear up the logic on lookupStateEvents a little bit. * Change invalid_txn_id to global (for efficiency) * Use a bool for EventsReady instead of an int
466 lines
15 KiB
Plaintext
466 lines
15 KiB
Plaintext
{
|
|
"version": 0,
|
|
"dependencies": [
|
|
{
|
|
"importpath": "github.com/Shopify/sarama",
|
|
"repository": "https://github.com/Shopify/sarama",
|
|
"revision": "574d3147eee384229bf96a5d12c207fe7b5234f3",
|
|
"branch": "master"
|
|
},
|
|
{
|
|
"importpath": "github.com/alecthomas/gometalinter",
|
|
"repository": "https://github.com/alecthomas/gometalinter",
|
|
"revision": "b8b1f84ae8cb72e7870785840eab2d6c6355aa9f",
|
|
"branch": "master"
|
|
},
|
|
{
|
|
"importpath": "github.com/alecthomas/units",
|
|
"repository": "https://github.com/alecthomas/units",
|
|
"revision": "2efee857e7cfd4f3d0138cc3cbb1b4966962b93a",
|
|
"branch": "master"
|
|
},
|
|
{
|
|
"importpath": "github.com/apache/thrift",
|
|
"repository": "https://github.com/apache/thrift",
|
|
"revision": "b2a4d4ae21c789b689dd162deb819665567f481c",
|
|
"branch": "HEAD"
|
|
},
|
|
{
|
|
"importpath": "github.com/apache/thrift/lib/go/thrift",
|
|
"repository": "https://github.com/apache/thrift",
|
|
"revision": "b2a4d4ae21c789b689dd162deb819665567f481c",
|
|
"branch": "HEAD",
|
|
"path": "/lib/go/thrift"
|
|
},
|
|
{
|
|
"importpath": "github.com/beorn7/perks/quantile",
|
|
"repository": "https://github.com/beorn7/perks",
|
|
"revision": "4c0e84591b9aa9e6dcfdf3e020114cd81f89d5f9",
|
|
"branch": "master",
|
|
"path": "/quantile"
|
|
},
|
|
{
|
|
"importpath": "github.com/codahale/hdrhistogram",
|
|
"repository": "https://github.com/codahale/hdrhistogram",
|
|
"revision": "3a0bb77429bd3a61596f5e8a3172445844342120",
|
|
"branch": "master"
|
|
},
|
|
{
|
|
"importpath": "github.com/crossdock/crossdock-go",
|
|
"repository": "https://github.com/crossdock/crossdock-go",
|
|
"revision": "049aabb0122b03bc9bd30cab8f3f91fb60166361",
|
|
"branch": "master"
|
|
},
|
|
{
|
|
"importpath": "github.com/davecgh/go-spew/spew",
|
|
"repository": "https://github.com/davecgh/go-spew",
|
|
"revision": "346938d642f2ec3594ed81d874461961cd0faa76",
|
|
"branch": "master",
|
|
"path": "/spew"
|
|
},
|
|
{
|
|
"importpath": "github.com/eapache/go-resiliency/breaker",
|
|
"repository": "https://github.com/eapache/go-resiliency",
|
|
"revision": "b86b1ec0dd4209a588dc1285cdd471e73525c0b3",
|
|
"branch": "master",
|
|
"path": "/breaker"
|
|
},
|
|
{
|
|
"importpath": "github.com/eapache/go-xerial-snappy",
|
|
"repository": "https://github.com/eapache/go-xerial-snappy",
|
|
"revision": "bb955e01b9346ac19dc29eb16586c90ded99a98c",
|
|
"branch": "master"
|
|
},
|
|
{
|
|
"importpath": "github.com/eapache/queue",
|
|
"repository": "https://github.com/eapache/queue",
|
|
"revision": "44cc805cf13205b55f69e14bcb69867d1ae92f98",
|
|
"branch": "master"
|
|
},
|
|
{
|
|
"importpath": "github.com/golang/protobuf/proto",
|
|
"repository": "https://github.com/golang/protobuf",
|
|
"revision": "8ee79997227bf9b34611aee7946ae64735e6fd93",
|
|
"branch": "master",
|
|
"path": "/proto"
|
|
},
|
|
{
|
|
"importpath": "github.com/golang/snappy",
|
|
"repository": "https://github.com/golang/snappy",
|
|
"revision": "7db9049039a047d955fe8c19b83c8ff5abd765c7",
|
|
"branch": "master"
|
|
},
|
|
{
|
|
"importpath": "github.com/google/shlex",
|
|
"repository": "https://github.com/google/shlex",
|
|
"revision": "6f45313302b9c56850fc17f99e40caebce98c716",
|
|
"branch": "master"
|
|
},
|
|
{
|
|
"importpath": "github.com/gorilla/context",
|
|
"repository": "https://github.com/gorilla/context",
|
|
"revision": "08b5f424b9271eedf6f9f0ce86cb9396ed337a42",
|
|
"branch": "master"
|
|
},
|
|
{
|
|
"importpath": "github.com/gorilla/mux",
|
|
"repository": "https://github.com/gorilla/mux",
|
|
"revision": "392c28fe23e1c45ddba891b0320b3b5df220beea",
|
|
"branch": "master"
|
|
},
|
|
{
|
|
"importpath": "github.com/klauspost/crc32",
|
|
"repository": "https://github.com/klauspost/crc32",
|
|
"revision": "cb6bfca970f6908083f26f39a79009d608efd5cd",
|
|
"branch": "master"
|
|
},
|
|
{
|
|
"importpath": "github.com/lib/pq",
|
|
"repository": "https://github.com/lib/pq",
|
|
"revision": "23da1db4f16d9658a86ae9b717c245fc078f10f1",
|
|
"branch": "master"
|
|
},
|
|
{
|
|
"importpath": "github.com/matrix-org/dugong",
|
|
"repository": "https://github.com/matrix-org/dugong",
|
|
"revision": "ea0a4690a0d5b414a18dbb06cf6153309a2d0528",
|
|
"branch": "master"
|
|
},
|
|
{
|
|
"importpath": "github.com/matrix-org/gomatrix",
|
|
"repository": "https://github.com/matrix-org/gomatrix",
|
|
"revision": "a7fc80c8060c2544fe5d4dae465b584f8e9b4e27",
|
|
"branch": "master"
|
|
},
|
|
{
|
|
"importpath": "github.com/matrix-org/gomatrixserverlib",
|
|
"repository": "https://github.com/matrix-org/gomatrixserverlib",
|
|
"revision": "929828872b51e6733166553d6b1a20155b6ab829",
|
|
"branch": "master"
|
|
},
|
|
{
|
|
"importpath": "github.com/matrix-org/naffka",
|
|
"repository": "https://github.com/matrix-org/naffka",
|
|
"revision": "662bfd0841d0194bfe0a700d54226bb96eac574d",
|
|
"branch": "master"
|
|
},
|
|
{
|
|
"importpath": "github.com/matrix-org/util",
|
|
"repository": "https://github.com/matrix-org/util",
|
|
"revision": "8b1c8ab81986c1ce7f06a52fce48f4a1156b66ee",
|
|
"branch": "master"
|
|
},
|
|
{
|
|
"importpath": "github.com/matttproud/golang_protobuf_extensions/pbutil",
|
|
"repository": "https://github.com/matttproud/golang_protobuf_extensions",
|
|
"revision": "c12348ce28de40eed0136aa2b644d0ee0650e56c",
|
|
"branch": "master",
|
|
"path": "/pbutil"
|
|
},
|
|
{
|
|
"importpath": "github.com/nfnt/resize",
|
|
"repository": "https://github.com/nfnt/resize",
|
|
"revision": "891127d8d1b52734debe1b3c3d7e747502b6c366",
|
|
"branch": "master"
|
|
},
|
|
{
|
|
"importpath": "github.com/nicksnyder/go-i18n/i18n",
|
|
"repository": "https://github.com/nicksnyder/go-i18n",
|
|
"revision": "3e70a1a463008cea6726380c908b1a6a8bdf7b24",
|
|
"branch": "master",
|
|
"path": "/i18n"
|
|
},
|
|
{
|
|
"importpath": "github.com/opentracing/opentracing-go",
|
|
"repository": "https://github.com/opentracing/opentracing-go",
|
|
"revision": "8ebe5d4e236eed9fd88e593c288bfb804d630b8c",
|
|
"branch": "master"
|
|
},
|
|
{
|
|
"importpath": "github.com/pelletier/go-toml",
|
|
"repository": "https://github.com/pelletier/go-toml",
|
|
"revision": "1d6b12b7cb290426e27e6b4e38b89fcda3aeef03",
|
|
"branch": "master"
|
|
},
|
|
{
|
|
"importpath": "github.com/pierrec/lz4",
|
|
"repository": "https://github.com/pierrec/lz4",
|
|
"revision": "5c9560bfa9ace2bf86080bf40d46b34ae44604df",
|
|
"branch": "master"
|
|
},
|
|
{
|
|
"importpath": "github.com/pierrec/xxHash/xxHash32",
|
|
"repository": "https://github.com/pierrec/xxHash",
|
|
"revision": "5a004441f897722c627870a981d02b29924215fa",
|
|
"branch": "master",
|
|
"path": "/xxHash32"
|
|
},
|
|
{
|
|
"importpath": "github.com/pkg/errors",
|
|
"repository": "https://github.com/pkg/errors",
|
|
"revision": "c605e284fe17294bda444b34710735b29d1a9d90",
|
|
"branch": "master"
|
|
},
|
|
{
|
|
"importpath": "github.com/pmezard/go-difflib/difflib",
|
|
"repository": "https://github.com/pmezard/go-difflib",
|
|
"revision": "792786c7400a136282c1664665ae0a8db921c6c2",
|
|
"branch": "master",
|
|
"path": "/difflib"
|
|
},
|
|
{
|
|
"importpath": "github.com/prometheus/client_golang/prometheus",
|
|
"repository": "https://github.com/prometheus/client_golang",
|
|
"revision": "c51dc758d4bb30acacbef9eaa2b774969a135086",
|
|
"branch": "master"
|
|
},
|
|
{
|
|
"importpath": "github.com/prometheus/client_golang/prometheus/promhttp",
|
|
"repository": "https://github.com/prometheus/client_golang",
|
|
"revision": "c51dc758d4bb30acacbef9eaa2b774969a135086",
|
|
"branch": "master"
|
|
},
|
|
{
|
|
"importpath": "github.com/prometheus/client_model/go",
|
|
"repository": "https://github.com/prometheus/client_model",
|
|
"revision": "fa8ad6fec33561be4280a8f0514318c79d7f6cb6",
|
|
"branch": "master",
|
|
"path": "/go"
|
|
},
|
|
{
|
|
"importpath": "github.com/prometheus/common/expfmt",
|
|
"repository": "https://github.com/prometheus/common",
|
|
"revision": "dd2f054febf4a6c00f2343686efb775948a8bff4",
|
|
"branch": "master",
|
|
"path": "/expfmt"
|
|
},
|
|
{
|
|
"importpath": "github.com/prometheus/common/internal/bitbucket.org/ww/goautoneg",
|
|
"repository": "https://github.com/prometheus/common",
|
|
"revision": "dd2f054febf4a6c00f2343686efb775948a8bff4",
|
|
"branch": "master",
|
|
"path": "/internal/bitbucket.org/ww/goautoneg"
|
|
},
|
|
{
|
|
"importpath": "github.com/prometheus/common/model",
|
|
"repository": "https://github.com/prometheus/common",
|
|
"revision": "dd2f054febf4a6c00f2343686efb775948a8bff4",
|
|
"branch": "master",
|
|
"path": "/model"
|
|
},
|
|
{
|
|
"importpath": "github.com/prometheus/procfs",
|
|
"repository": "https://github.com/prometheus/procfs",
|
|
"revision": "1878d9fbb537119d24b21ca07effd591627cd160",
|
|
"branch": "master"
|
|
},
|
|
{
|
|
"importpath": "github.com/rcrowley/go-metrics",
|
|
"repository": "https://github.com/rcrowley/go-metrics",
|
|
"revision": "1f30fe9094a513ce4c700b9a54458bbb0c96996c",
|
|
"branch": "master"
|
|
},
|
|
{
|
|
"importpath": "github.com/sirupsen/logrus",
|
|
"repository": "https://github.com/sirupsen/logrus",
|
|
"revision": "89742aefa4b206dcf400792f3bd35b542998eb3b",
|
|
"branch": "master"
|
|
},
|
|
{
|
|
"importpath": "github.com/stretchr/testify/assert",
|
|
"repository": "https://github.com/stretchr/testify",
|
|
"revision": "890a5c3458b43e6104ff5da8dfa139d013d77544",
|
|
"branch": "master",
|
|
"path": "/assert"
|
|
},
|
|
{
|
|
"importpath": "github.com/stretchr/testify/require",
|
|
"repository": "https://github.com/stretchr/testify",
|
|
"revision": "890a5c3458b43e6104ff5da8dfa139d013d77544",
|
|
"branch": "master",
|
|
"path": "/require"
|
|
},
|
|
{
|
|
"importpath": "github.com/tidwall/gjson",
|
|
"repository": "https://github.com/tidwall/gjson",
|
|
"revision": "67e2a63ac70d273b6bc7589f12f07180bc9fc189",
|
|
"branch": "master"
|
|
},
|
|
{
|
|
"importpath": "github.com/tidwall/match",
|
|
"repository": "https://github.com/tidwall/match",
|
|
"revision": "1731857f09b1f38450e2c12409748407822dc6be",
|
|
"branch": "master"
|
|
},
|
|
{
|
|
"importpath": "github.com/tidwall/sjson",
|
|
"repository": "https://github.com/tidwall/sjson",
|
|
"revision": "6a22caf2fd45d5e2119bfc3717e984f15a7eb7ee",
|
|
"branch": "master"
|
|
},
|
|
{
|
|
"importpath": "github.com/uber-go/atomic",
|
|
"repository": "https://github.com/uber-go/atomic",
|
|
"revision": "54f72d32435d760d5604f17a82e2435b28dc4ba5",
|
|
"branch": "master"
|
|
},
|
|
{
|
|
"importpath": "github.com/jaegertracing/jaeger-client-go",
|
|
"repository": "https://github.com/jaegertracing/jaeger-client-go",
|
|
"revision": "3ad49a1d839b517923a6fdac36d81cbf7b744f37",
|
|
"branch": "master"
|
|
},
|
|
{
|
|
"importpath": "github.com/jaegertracing/jaeger-lib/metrics",
|
|
"repository": "https://github.com/jaegertracing/jaeger-lib",
|
|
"revision": "21a3da6d66fe0e278072676fdc84cd4c9ccb9b67",
|
|
"branch": "master",
|
|
"path": "/metrics"
|
|
},
|
|
{
|
|
"importpath": "github.com/uber/tchannel-go",
|
|
"repository": "https://github.com/uber/tchannel-go",
|
|
"revision": "b3e26487e291972fda9c7301864a2ee7a319fd35",
|
|
"branch": "dev"
|
|
},
|
|
{
|
|
"importpath": "go.uber.org/atomic",
|
|
"repository": "https://github.com/uber-go/atomic",
|
|
"revision": "54f72d32435d760d5604f17a82e2435b28dc4ba5",
|
|
"branch": "master"
|
|
},
|
|
{
|
|
"importpath": "go.uber.org/multierr",
|
|
"repository": "https://github.com/uber-go/multierr",
|
|
"revision": "fb7d312c2c04c34f0ad621048bbb953b168f9ff6",
|
|
"branch": "master"
|
|
},
|
|
{
|
|
"importpath": "go.uber.org/zap",
|
|
"repository": "https://github.com/uber-go/zap",
|
|
"revision": "35aad584952c3e7020db7b839f6b102de6271f89",
|
|
"branch": "master"
|
|
},
|
|
{
|
|
"importpath": "golang.org/x/crypto/bcrypt",
|
|
"repository": "https://go.googlesource.com/crypto",
|
|
"revision": "9419663f5a44be8b34ca85f08abc5fe1be11f8a3",
|
|
"branch": "master",
|
|
"path": "/bcrypt"
|
|
},
|
|
{
|
|
"importpath": "golang.org/x/crypto/blowfish",
|
|
"repository": "https://go.googlesource.com/crypto",
|
|
"revision": "9419663f5a44be8b34ca85f08abc5fe1be11f8a3",
|
|
"branch": "master",
|
|
"path": "/blowfish"
|
|
},
|
|
{
|
|
"importpath": "golang.org/x/crypto/curve25519",
|
|
"repository": "https://go.googlesource.com/crypto",
|
|
"revision": "9419663f5a44be8b34ca85f08abc5fe1be11f8a3",
|
|
"branch": "master",
|
|
"path": "/curve25519"
|
|
},
|
|
{
|
|
"importpath": "golang.org/x/crypto/ed25519",
|
|
"repository": "https://go.googlesource.com/crypto",
|
|
"revision": "9419663f5a44be8b34ca85f08abc5fe1be11f8a3",
|
|
"branch": "master",
|
|
"path": "/ed25519"
|
|
},
|
|
{
|
|
"importpath": "golang.org/x/crypto/ssh",
|
|
"repository": "https://go.googlesource.com/crypto",
|
|
"revision": "9419663f5a44be8b34ca85f08abc5fe1be11f8a3",
|
|
"branch": "master",
|
|
"path": "/ssh"
|
|
},
|
|
{
|
|
"importpath": "golang.org/x/net/bpf",
|
|
"repository": "https://go.googlesource.com/net",
|
|
"revision": "0a9397675ba34b2845f758fe3cd68828369c6517",
|
|
"branch": "master",
|
|
"path": "/bpf"
|
|
},
|
|
{
|
|
"importpath": "golang.org/x/net/context",
|
|
"repository": "https://go.googlesource.com/net",
|
|
"revision": "007e530097ad7f954752df63046b4036f98ba6a6",
|
|
"branch": "master",
|
|
"path": "/context"
|
|
},
|
|
{
|
|
"importpath": "golang.org/x/net/internal/iana",
|
|
"repository": "https://go.googlesource.com/net",
|
|
"revision": "0a9397675ba34b2845f758fe3cd68828369c6517",
|
|
"branch": "master",
|
|
"path": "/internal/iana"
|
|
},
|
|
{
|
|
"importpath": "golang.org/x/net/internal/socket",
|
|
"repository": "https://go.googlesource.com/net",
|
|
"revision": "0a9397675ba34b2845f758fe3cd68828369c6517",
|
|
"branch": "master",
|
|
"path": "/internal/socket"
|
|
},
|
|
{
|
|
"importpath": "golang.org/x/net/ipv4",
|
|
"repository": "https://go.googlesource.com/net",
|
|
"revision": "0a9397675ba34b2845f758fe3cd68828369c6517",
|
|
"branch": "master",
|
|
"path": "/ipv4"
|
|
},
|
|
{
|
|
"importpath": "golang.org/x/net/ipv6",
|
|
"repository": "https://go.googlesource.com/net",
|
|
"revision": "0a9397675ba34b2845f758fe3cd68828369c6517",
|
|
"branch": "master",
|
|
"path": "/ipv6"
|
|
},
|
|
{
|
|
"importpath": "golang.org/x/sys/unix",
|
|
"repository": "https://go.googlesource.com/sys",
|
|
"revision": "43eea11bc92608addb41b8a406b0407495c106f6",
|
|
"branch": "master",
|
|
"path": "/unix"
|
|
},
|
|
{
|
|
"importpath": "gopkg.in/Shopify/sarama.v1",
|
|
"repository": "https://gopkg.in/Shopify/sarama.v1",
|
|
"revision": "0fb560e5f7fbcaee2f75e3c34174320709f69944",
|
|
"branch": "master"
|
|
},
|
|
{
|
|
"importpath": "gopkg.in/airbrake/gobrake.v2",
|
|
"repository": "https://gopkg.in/airbrake/gobrake.v2",
|
|
"revision": "668876711219e8b0206e2994bf0a59d889c775aa",
|
|
"branch": "master"
|
|
},
|
|
{
|
|
"importpath": "gopkg.in/alecthomas/kingpin.v3-unstable",
|
|
"repository": "https://gopkg.in/alecthomas/kingpin.v3-unstable",
|
|
"revision": "23bcc3c4eae3c47e1384a1aef1d611e5603b8dfc",
|
|
"branch": "v3-unstable"
|
|
},
|
|
{
|
|
"importpath": "gopkg.in/gemnasium/logrus-airbrake-hook.v2",
|
|
"repository": "https://gopkg.in/gemnasium/logrus-airbrake-hook.v2",
|
|
"revision": "e928b033a891c0175fb643d5aa0779e86325eb12",
|
|
"branch": "master"
|
|
},
|
|
{
|
|
"importpath": "gopkg.in/h2non/bimg.v1",
|
|
"repository": "https://gopkg.in/h2non/bimg.v1",
|
|
"revision": "02e621739c77c791d8c153f240b7a1f75b07816f",
|
|
"branch": "master"
|
|
},
|
|
{
|
|
"importpath": "gopkg.in/yaml.v2",
|
|
"repository": "https://gopkg.in/yaml.v2",
|
|
"revision": "287cf08546ab5e7e37d55a84f7ed3fd1db036de5",
|
|
"branch": "v2"
|
|
}
|
|
]
|
|
}
|