Skip to content

stream writer problem #17243

@yixiangfeng

Description

@yixiangfeng

Description

I try to add events to stream_writers. no setup other. when client call read receipt backend throw error

Steps to reproduce

when front end call read receipt api backend can‘t can write to receipts. event persist is work. so need to setup the typing worker or no need? i expect have a default solution

Homeserver

another homeserver

Synapse Version

1.107.0

Installation Method

Docker (matrixdotorg/synapse)

Database

postgresql

Workers

Multiple workers

Platform

container

Configuration

homeserver.config

listeners:
  - port: 9093
    type: http
    x_forwarded: true
    resources:
     - names: [replication]

instance_map:
 main:
   host: localhost
   port: 9093
   tls: false
 event_persister:
   host: localhost
   port: 9094
   tls: false
stream_writers: 
 events: event_persister

worker.config

worker_app: synapse.app.generic_worker
worker_name: event_persister

worker_listeners:
  - type: http
    port: 9094
    x_forwarded: true
    resources:
      - names: [replication]

Relevant log output

2024-05-29 15:39:40,077 - synapse.http.server - 146 - ERROR - POST-420 - Failed handle request via 'ReceiptRestServlet': <XForwardedForRequest at 0x7fe51050f550 method='POST' uri='/_matrix/client/v3/rooms/!KsIbRqzbBMwXKMigpY%3Astaging2.closer.contact/receipt/m.read/%24qP0tlwcYfC-txrW4OM0QYOxcjsIh8NgIRiugX5Er2Qw' client_ip='172.31.2.136' clientproto='HTTP/1.1' site='8008'>

 Traceback (most recent call last):

   File "/usr/local/lib/python3.11/site-packages/synapse/http/server.py", line 332, in _async_render_wrapper

     callback_return = await self._async_render(request)

                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

   File "/usr/local/lib/python3.11/site-packages/synapse/http/server.py", line 544, in _async_render

     callback_return = await raw_callback_return

                       ^^^^^^^^^^^^^^^^^^^^^^^^^

   File "/usr/local/lib/python3.11/site-packages/synapse/rest/client/receipts.py", line 115, in on_POST

     await self.receipts_handler.received_client_receipt(

   File "/usr/local/lib/python3.11/site-packages/synapse/handlers/receipts.py", line 203, in received_client_receipt

     is_new = await self._handle_new_receipts([receipt])

              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

   File "/usr/local/lib/python3.11/site-packages/synapse/handlers/receipts.py", line 144, in _handle_new_receipts

     stream_id = await self.store.insert_receipt(

                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

   File "/usr/local/lib/python3.11/site-packages/synapse/storage/databases/main/receipts.py", line 856, in insert_receipt

     assert self._can_write_to_receipts

            ^^^^^^^^^^^^^^^^^^^^^^^^^^^

 AssertionError


### Anything else that would be useful to know?

_No response_

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions