Giter VIP home page Giter VIP logo

Comments (2)

bebopagogo avatar bebopagogo commented on June 23, 2024

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.

AlteroCode avatar AlteroCode commented on June 23, 2024

@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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.