.doIfEquals not working with gatling version 3.7.6 - performance-testing

I have been using the gatling version 3.6.1 in my application for the performance testing. Recently I upgraded the version to 3.7.6 and observed that all the conditional statements were not working.
The below doIfEquals condition is not evaluating to true even if the value of index variable, stored in session is 1. On reverting it to previous version, I am not running into this issue.
.doIfEquals("${index}", 1) {
//logic
}

Already answered on Gatling community forum where this question was also posted: known bug, already fixed several releases ago.

Related

TypeError: As of 3.10, the *loop* parameter was removed from Lock() since it is no longer necessary

How do I solve this?
TypeError: As of 3.10, the *loop* parameter was removed from Lock() since it is no longer necessary
I'm trying to use Binance socket manager, and I'm getting this error.
Should just be a case of upgrading your websockets version from 9.1 to 10.x
pip install --upgrade websockets
I've had the same issue. My bot ran fine on MacOS, but it popped up when I installed Fedora on the Apple instead. Never resolved it before moving on to other OS's, but I don't know if it would have happened on Ubuntu or Zorin, because a PIP problem stopped me long before then.
As for my primary, an MSI gaming laptop running Windows 11, I never had the issue on the command line python, IDLE, PyCharm, Visual Studio, nor Visual Studio Code, UNTIL this morning when my laptop overheated and shutdown. When I booted up again, the system no longer recognized the modules I had been using (pandas, pytz, python-binance) and they had to be installed again (from an elevated command line, which seemed odd). Then when running the program from VS, there comes the error again. Command prompt returns the same error, however, IDLE runs the program without issue. I'm not knowledgeable enough to say how to directly fix the bug, or even why it's happening, but it seems that there may be methods of skirting it. The error reads 'As of 3.10...' so if you cannot find an application that can run it, you might try rolling it back to 3.9. Sorry I can't be of any real aid, here. Hope you find your answers. I'll keep looking, too.
I've come up with several solutions.
I created my own ticker:
play = client.get_symbol_ticker(symbol='BTCUSDT)
def start_ticker():
global play
while True:
play = client.get_symbol_ticker(symbol='BTCUSDT')
print(play['Price'])
time.sleep(1)
bsm = ThreadedWebsocketManager()
bsm.start()
start_ticker()
Now, this is just a sort of preliminary example. I've tied it into my actual trading loop and removed the print function, but store and process the data second by second. I run multiple tokens simultaneously and set the sleep at the end of the entire loop, after the condition evaluations have been processed. You can tweak the rest time after testing the duration of your loop, but overall it's hasn't ever shown to be critical for it to be off by fragments of a second. One caveat is that it only delivers the flat price, but you can check the documentation for additional queries you can pull from: Python Binance 0.2.0 Websockets Documentation
Install Python 3.9:
This is easiest on Windows, as no system processes rely on it. If you install it parallel to your current version, you'll have to take extra steps to address it rather than the later version, such as with PATH edits or virtual environments. An easy tool for this is Anaconda, which can create the virtual environment with little fuss.
I run my trader on a PC running Fedora, which has proven to be more reliable with server connections (unfortunately, Windows 11 can't keep proper time without a looping PowerShell script that manually resyncs, and I get Windows semaphore errors even with the time issue fixed). However, Fedora relies on up-to-date Python for some system functions, so you have to install the pre-3.10 version beside it an create a symbolic link and a virtual environment to run it.
Modify the python-binance module to use a different Loop function, which I believe can be done with PyCharm or Anacondas, but from what I read it's not the best of ideas and I don't see a need for it at the moment. Also, I would probably just break it.
TypeError: As of 3.10, the *loop* parameter was removed from Queue() since it is no longer necessary
I was getting this error when i try to use proxybroker package.
I just downgrade python version to 3.6.8 and now error is gone.
Maybe your error to occurred by python version.
maybe helps
Make sure u installed asyncio and imported that. I had the same problem.

Is this version a minor or major change?

I had new changes to my code. These changes use new Node 14 features, such as Optional Chaining. This has caused problems for clients running version 12 of Node.
Should this new version be major or not?
TL;DR: you almost certainly should have released that as a major version, yes.
As I see it, there are three possibilities, depending on the package's declared Node version support (usually included as $.engines.node in package.json):
You explicitly supported Node 12, and are now dropping that support.
This requires a major version change, your changes are not backwards-compatible. Steps to mitigate, assuming the current version is x.y.z:
Re-release the new version that uses incompatible syntax as (x+1).0.0;
Release a new version x.y.(z+1), reverting the changes to restore Node 12 compatibility, to get folks' builds passing again; and
Consider releasing x.(y+1).0, implementing the new functionality with backwards-compatible syntax (as Node 12 is still in LTS, see #3).
You explicitly didn't support Node 12.
This doesn't require a major version change. Nobody should have been using it with Node 12 to begin with and it's not really your fault they're now having problems.
That said, given that people apparently were using it with Node 12 (which is still in LTS, see #3), you may choose to support them by doing the steps in #1 anyway.
There was no/unclear explicit Node version support.
In the absence of an explicit support declaration, I would go back to Node's own support - Node 12 is still in LTS until the end of April 2022. Therefore I'd expect any actively maintained package that didn't specify otherwise to continue to support Node 12 usage too. You should therefore follow the mitigation steps in #1.
I would also consider being more explicit about what is required/supported, by adding the information mentioned above to the package file in all of the new releases (e.g. for the optional chaining in (x+1).0.0, per node.green, ">=14.0.0").
Finally I would note that you can use the latest syntax in your source code but still support older Node versions through transpilation, publishing code generated by e.g. Babel rather than the source code itself.

FAISS search fails with vague error: "Illegal instruction" or kernel crash

Currently trying to run a basic similarity search via FAISS with reproducible code from that link. However, every time I run the code in the following venues, I have these problems:
Jupyter notebook - kernel crashes
VS Code - receive "Illegal Instruction" message in the terminal with no further documentation
I've got similar code working in Kaggle, so I suppose the problem is with my particular setup.
Based on the print statements, it appears that the error occurs during the call of the .search method. Because of how vague this error is, I've not been able to find much information on the problem. It seems that some people mentioned older processors may have a problem (AVX/AVX2 flags being the culprit?), though admittedly I didn't quite understand the connections.
Problem: Can I get some help understanding this error, and if possible, a potential solution?
Current setup:
WSL2
VSCODE (v. 1.49.0)
Jupyter-client (v. 6.1.7)
Jupyter-core (v. 4.6.3)
FAISS-cpu (v. 1.6.3)
Numpy (v. 1.19.2)
Older machine (AMD FX-8350 with 16GB RAM)
For anyone that runs across this error, the problem (in my case) was that my CPU was old enough that it doesn't support AVX2. To determine this, I used this SO post.
Once I ran the code in Colab or on a newer machine, all was well.

skb allocation failures in 2.6.32

We are running CentOS 6.3 (based on 2.6.32) and under high load we receive order 0 allocation failures when allocating skb. This problem is not inspected on CentOS 5.4 (based on 2.6.18).
This problem is very similar to https://bugzilla.kernel.org/show_bug.cgi?id=14141.
The bug 14141 is closed by some patch (related to tty), that I don't sure is related to the problem.
Here is a very long discussion in lkml regarding the bug (see https://lkml.org/lkml/2009/10/2/86), which ends by some possible leads regarding congestion_wait() and more, but without patch.
I saw some proposals to inrcease vm.min_free_kbytes. IMHO it's not a solution, but rather workaround.
I suppose the problem was solved, but can't find when and how.
Any ideas?
Thanks

Understanding linux kernel and patches releases

I would like to better understand how linux kernel / patches releases work.
For example, if I open www.kernel.org today (Dec 12, 2013) the main download (yellow button) takes me to "linux-3.12.5.tar.xx" that is the latest stable. This is clear.
But if I move into "https://www.kernel.org/pub/linux/kernel/v3.x/", I can find (among many archives):
(1) linux-3.12.tar.gz
(2) patch-3.12.5.gz
(3) patch-3.12.gz
So the first question: is "linux-3.12.5" = (1)linux-3.12 "+" (2)patch-3.12.5?
If so, what is "patch-3.12"(3) for ? is "linux-3.12" = linux-3.11 "+" (3)patch-3.12 like above?
Thanks!
According to https://github.com/torvalds/linux/blob/master/README (line 95 onward):
Unlike patches for the 3.x kernels, patches for the 3.x.y kernels
(also known as the -stable kernels) are not incremental but instead
apply directly to the base 3.x kernel. For example, if your base
kernel is 3.0 and you want to apply the 3.0.3 patch, you must not
first apply the 3.0.1 and 3.0.2 patches. Similarly, if you are running
kernel version 3.0.2 and want to jump to 3.0.3, you must first reverse
the 3.0.2 patch (that is, patch -R) before applying the 3.0.3 patch.
You can read more on this in Documentation/applying-patches.txt
Thanks to n.m. for linking source!

Resources