0
0
Fork 0
mirror of https://github.com/matrix-org/dendrite synced 2024-12-24 04:43:52 +01:00

Merge branch 'master' into neilalexander/fscache

This commit is contained in:
Neil Alexander 2020-12-04 14:09:34 +00:00 committed by GitHub
commit 88264974ee
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 32 additions and 11 deletions

View file

@ -94,13 +94,20 @@ func (s *OutputRoomEventConsumer) onMessage(msg *sarama.ConsumerMessage) error {
}
if err := s.processMessage(*output.NewRoomEvent); err != nil {
// panic rather than continue with an inconsistent database
log.WithFields(log.Fields{
"event": string(ev.JSON()),
"add": output.NewRoomEvent.AddsStateEventIDs,
"del": output.NewRoomEvent.RemovesStateEventIDs,
log.ErrorKey: err,
}).Panicf("roomserver output log: write room event failure")
switch err.(type) {
case *queue.ErrorFederationDisabled:
log.WithField("error", output.Type).Info(
err.Error(),
)
default:
// panic rather than continue with an inconsistent database
log.WithFields(log.Fields{
"event": string(ev.JSON()),
"add": output.NewRoomEvent.AddsStateEventIDs,
"del": output.NewRoomEvent.RemovesStateEventIDs,
log.ErrorKey: err,
}).Panicf("roomserver output log: write room event failure")
}
return nil
}
default:

View file

@ -122,13 +122,23 @@ func (oqs *OutgoingQueues) getQueue(destination gomatrixserverlib.ServerName) *d
return oq
}
type ErrorFederationDisabled struct {
Message string
}
func (e *ErrorFederationDisabled) Error() string {
return e.Message
}
// SendEvent sends an event to the destinations
func (oqs *OutgoingQueues) SendEvent(
ev *gomatrixserverlib.HeaderedEvent, origin gomatrixserverlib.ServerName,
destinations []gomatrixserverlib.ServerName,
) error {
if oqs.disabled {
return fmt.Errorf("federation is disabled")
return &ErrorFederationDisabled{
Message: "Federation disabled",
}
}
if origin != oqs.origin {
// TODO: Support virtual hosting; gh issue #577.
@ -190,7 +200,9 @@ func (oqs *OutgoingQueues) SendEDU(
destinations []gomatrixserverlib.ServerName,
) error {
if oqs.disabled {
return fmt.Errorf("federation is disabled")
return &ErrorFederationDisabled{
Message: "Federation disabled",
}
}
if origin != oqs.origin {
// TODO: Support virtual hosting; gh issue #577.

View file

@ -63,4 +63,7 @@ If user leaves room, remote user changes device and rejoins we see update in /sy
A prev_batch token from incremental sync can be used in the v1 messages API
# Blacklisted due to flakiness
Forgotten room messages cannot be paginated
Forgotten room messages cannot be paginated
# Blacklisted due to flakiness
Can re-join room if re-invited

View file

@ -501,6 +501,5 @@ Can get rooms/{roomId}/state for a departed room (SPEC-216)
Users cannot set notifications powerlevel higher than their own
Forgetting room does not show up in v2 /sync
Can forget room you've been kicked from
Can re-join room if re-invited
/whois
/joined_members return joined members