Comments (6)
/assign @vaikas-google
from knative-gcp.
@Harwayne can you try this flow again with the operations ?
from knative-gcp.
as @n3wscott mentions, this should not happen again. The problem was that occasionally depending on which write (finalizer or the status update with the notificationId in Status) would go first we would indeed end up getting the duplicate notification. With the operations model, creating the subscription should be idempotent because the state is stored in the Job that creates the Subscription and not in the reconciler.
from knative-gcp.
@Harwayne can you still repro this?
from knative-gcp.
Looking through the code, I think it should be much safer now.
However, it is still possible if the Pod creating the notification dies at the wrong time. If the Pod dies after https://github.com/google/knative-gcp/blob/master/pkg/operations/storage/notification.go#L228, but before https://github.com/google/knative-gcp/blob/master/pkg/operations/storage/notification.go#L243, or writing the termination message fails for some reason, then we would still leak a Notification.
One possible solution is to set a custom attribute in the notification to the UID of the Storage object. Then, before creating a Storage notification, list the existing ones and search for that UID. If found, then accept it.
from knative-gcp.
I cannot repro this in 0.12... leaving it open for now, but may close it in 0.13 if nobody can reproduce
from knative-gcp.
Related Issues (20)
- Broker ignores some Binary Mode Cloud Events reponses HOT 2
- BrokerCell should ignore non-sensical Targets HOT 2
- Stackdriver out of order HOT 2
- Reconciler loop when trigger does not have broker HOT 1
- Broker does not inspect the response to replies HOT 1
- Migrate from opencensus to opentelemetry
- Metrics around Trigger Replies HOT 4
- Add testing for to verify status are updated correctly HOT 1
- Unable to Run init_control_plane_gke.sh HOT 1
- The Installation of the Knative Istio controller aborts on a private cluster HOT 2
- knative fails on private cluster because http://169.254.169.254/computeMetadata times out HOT 1
- Setting Up Cloud Run Events on local cluster unable to validate webhook service. HOT 7
- Knative Eventing sample for Java Spring with Cloud Storage Events HOT 2
- Use serving & eventing nightly in e2e tests
- Use SubscriptionV1 in e2e test ChannelChainTestHelper
- Installation of Knative-GCP v0.22.0 does not work due to inaccessible images HOT 1
- Performance test reconciling job is failing
- Trigger with `.` will causes error due to pubsub label constraints HOT 1
- Keda API version update HOT 3
- Unable to delete Kafka Broker, failed to delete topic
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from knative-gcp.