element-hq / element-hq/synapse

v1.15 upgrade broken ipv6 replication config (ipv6 literals)

Open
#7,695 0 comments 0 reactions 0 assignees View on GitHub
A-Workers z-bug z-regression
Dominant language
Python
Stars
4.6k
Forks
600
Avg merge
5d 22h
Merged PRs (30d)
51

Description

This issue has been migrated from [#7695](https://github.com/matrix-org/synapse/issues/7695).

---

### Description
v1.13.x workers config broken after v1.15.0 upgrade. Server dies in mysterious ways.

```
2020-06-14 23:49:11,767 - synapse.http.client - 283 - INFO - replication-POSITION-27- Sending request GET http://::1:None/_synapse/replication/get_repl_stream_updates/federation/XSBWfTbBUR?from_token=0&upto_token=2
2020-06-14 23:49:11,767 - synapse.http.client - 330 - INFO - replication-POSITION-27- Error sending request to GET http://::1:None/_synapse/replication/get_repl_stream_updates/federation/XSBWfTbBUR?from_token=0&upto_token=2: URLParseError expected integer for port, not ':1:None'
2020-06-14 23:49:11,768 - synapse.metrics.background_process_metrics - 215 - ERROR - replication-POSITION-27- Background process 'replication-POSITION' threw an exception
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/hyperlink/_url.py", line 993, in from_text
port = int(port)
ValueError: invalid literal for int() with base 10: ':1:None'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/synapse/metrics/background_process_metrics.py", line 213, in run
return (yield result)
hyperlink._url.URLParseError: expected integer for port, not ':1:None'
```

So far it has been working as:
```
worker_app: synapse.app.synchrotron
worker_replication_host: '::1'
worker_replication_port: 9092
```

Apart from it may have require `worker_replication_http_port` now (not sure though) the `…_host` is completely broken. I can try various valid combos without success, like

```
worker_replication_host: '[::1]'
```

but then it stupidly tries to interpret it as a hostname. I did not find a working solution, so I had to downgrade all connections to ipv4.

### Steps to reproduce
- use ipv6 literals in replication
- nothing works

### Version information
- **Homeserver**: grin.hu
- **Version**: 1.15.0
- **Install method**: Debian (non NV)
- **Platform**: debian/buster

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.