Comments (2)
FYI - the NormFileSend and NormFileRecv examples are less complete file transfer apps than the norm/examples/normCast.cpp.
My hunch if you have multiple senders is that you did not set unique NormNodeIds for each sender? That is controlled by the NormCreateSession() call. The default parameter (NORM_NODE_NONE I think) causes the underlying NORM node to auto-generate a NormNodeId based on the host's IP address table. It does this by iterating through available interfaces and their assigned addresses. In your containerized environment, it may be the case that all of your nodes are using the same NormNodeId if the default code to set the NormNodeId ends up using the same IP address.
from norm.
@bebopagogo , indeed that looks like was my issue. Default value was set to 1. I'm now taking IP address of a container and assigning last 2 values as an NormNodeId, which reduced the number of events to only 1 occurrence per transfer.
I'm running into one more issue if you don't mind helping me with it. It is the same setup and out of 100 file sends at least 2-3 transfers fail, by fail I mean transfer starts and gets stuck in the middle of transfer until time out. I reduced the timeout by setting NormSetDefaultRxRobustFactor to 1, which quickly times out the failed/stuck transfer and moves on to next. Are you aware of what might be causing the transfer to get stuck? or maybe a mechanism to alleviate this and recover? Its interesting that if I send one sender to many receivers, it doesn't matter how many transfer are initiated, the transfer success rate is 100%, but in case where its many senders send multiple files to one receiver, the success rate is about 97-98% out of 100 transfers. I'm still looking through the developer guide to find a function that may help with this, but I'm hoping you might give me a tip which one to go with if there are functions that can help with this issue. I tried to tweak and add flow-control, Parity and tweak buffer and other default numbers passed during session creation. So far some changes cause more loss transfers, but can't seem to find the tweak that would eliminate that small fail rate.
Thank you! I appreciate all the help provided.
from norm.
Related Issues (20)
- Transfer Rate HOT 8
- Sending an empty file (0 Bytes) does not trigger TX_OBJECT_SENT event HOT 2
- norm 1.5.9 python binding failure HOT 4
- norm 1.5.9 python binding of setRxPortReuse session's method seems not to work HOT 1
- norm 1.5.9 fatal error with the python binding of session's method fileEnqueue HOT 1
- Segmentation fault (normObject.cpp) HOT 1
- Receiving File and writing to mounted share is slow HOT 10
- Suggestion: Make pynorm work with Python3 HOT 3
- debugStats.py: No module named 'pynorm.extra.pipeparser' HOT 2
- add arguments `txBindAddress` back to pynorm Session.setTxPort HOT 1
- Suggestion: Use Python enum in pynorm/constants.py
- function `setTxOnly` missed in pynorm/session.py
- function `NormChangeDestination` missed in pynorm and NormDeveloperGuide
- Question:how to get the status of each sender session? HOT 2
- the fairness among multiple sender sessions. HOT 6
- NormRestartInstance cause ASSERT INVALID_DESCRIPTOR error HOT 4
- ProtoTree x->right ==x Caused infinite loop HOT 41
- normCast not support dir? HOT 3
- NormStreamSend Java Example Does Not Compile HOT 2
- NormObjectTable::Remove(NormObject*): Assertion `__null != tree.Find(theObject->GetId().GetValuePtr(), 8*sizeof(UINT16))' failed HOT 3
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 norm.