8000 Tags · scribnar/weaver · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Tags: scribnar/weaver

Tags

v0.23.1

Toggle v0.23.1's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Fix examples/docs with new listener config (ServiceWeaver#753)

v0.23.0

Toggle v0.23.0's commit message
New release.

v0.21.2

Toggle v0.21.2's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Upgrade weaver to v0.21.2 (ServiceWeaver#602)

v0.21.1

Toggle v0.21.1's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Bump up the module version number. (ServiceWeaver#600)

We've had some backward-incompatible changes (e.g., auto-retries).

v0.21.0

Toggle v0.21.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Run simulations concurrently. (ServiceWeaver#595)

This PR changes the `Simulator.Run` method to run multiple simulations
in parallel. This does speed things up a bit (5x throughput for
TestPassingSimulations), but things still aren't as fast as I'd like. I
also need a lot of parallelism to speed things up fully which I don't
yet fully understand. I'll try to do some profiling and optimizations in
future PRs.

v0.18.1

Toggle v0.18.1's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Avoid using connections until they are healthy. (ServiceWeaver#498)

* Avoid using connections until they are healthy.

* Change Balancer to track the set of healthy connections.
* Added state machine to clientConnection.
* Create clientConnection as soon as a resolver returns an address.
* Do version handshake on connection before adding it to the balancer.
* Removed CallOptions.Balancer (call.Connection now has one balancer).
* Dropped unused Sharded balancer.
* Dropped some obsolete tests.
* Tweaked some tests to account for changed behavior.
* Added deadlines to some tests to make them behave better when things
  hang due to a bug.
* Undid earlier bad renaming of object to component.
* Split a large test into multiple tests.

We also disable the method call panic weavertest since it does not work.

Explanation: if a remote weavelet paniced, it's exit raced with
weavertest cleanup. If the code reading from the remote weavelet
detected the broken connection before weavertest got a chance to mark
the test as done, we would print an error message and exit the test
process. This interacted poorly with the weavertest/internal/generate
test that intentionally triggers a panic in a remote component.

To elaborate on what is going wrong, if a subprocess in a weavertest
panics, this code will error out:

```
weaver/weavertest/deployer.go Line 374 in c893d9a
err := e.Serve(handler)
```

Which leads to stopLocked being called which cancels a context:

```
weaver/weavertest/deployer.go Line 218 in c893d9a
d.ctxCancel()
```

This context is used to create all weavelets. When this context is
cancelled, the pipes between all envelopes and weavelets shut
down. The main weavelet detects this and self-terminates, causing the
test to fail even though it should pass.

```
weaver/internal/weaver/remoteweavelet.go Line 178 in c893d9a
return w.conn.Serve(w)
```
0