Upgrading topology from Python 2 to 3 - streamparse

I had a Streamparse topology that was originally developed using Python 2. I am now trying to upgrade it to Python 3 using the 2to3 tool. I have also upgraded Streamparse to 3.15.1 (not sure which version the topology was originally developed against). When I try to run my topology using sparse run -d I get the following error:
AttributeError: 'ShellBoltSpec' object has no attribute 'componentId'
I presume it is because the ShellBoltSpec class has changed from Python 2 to Python 3 but I have no idea how to go about fixing this. Does anybody have any suggestions?

Regardless of 2to3, it could be that upgrading Streamparse to version 3.x.x broke backwards compatibility with the previous version you worked with, if that was 2.x.x or below. If so, you need to explicitly edit your code to be compatible with Steamparse 3.x.x.

Related

V 1.2.3 tutorial. Failure. Am I looking in right place?

I am trying to follow the v 1.2.3 tutorial for apache storm.
Trying to get the ExclamationTopology example from storm starter running.
I installed storm on my macbook using brew.
Which meant I ended up with apache storm v 1.2.3
(And that would suit me fine cos I'm trying to get to a situation where I understand stormcrawler which seems to use 1.2.3 anyway.)
So, I spent a long time trying to see if I could view the output from the example and finally think I found the output in:
/usr/local/Cellar/storm/1.2.3/libexec/logs/worders-artifacts
First question.. is that the right place to find the output?
Second Question:
the log file there is just full of messages as follows:
0.003s][warning][gc] -Xloggc is deprecated. Will use -Xlog:gc:artifacts/gc.log instead. Unrecognized VM option 'PrintGCDateStamps' Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
I had tried to get this whole lot running with jdk 1.8 as 1.7 was giving errors... so would that explain why this error is occurring ?
Any help or advice would be greatly appreciated...
The directory layout for the brew install of Storm looks to be a little different than a standard Storm zip install. You are probably looking in the right place, yes.
The error message you're seeing is because you're running with some JDK version greater than 9. You can either use an older JDK (e.g. 8), or upgrade Storm to 2.0.0. Finally you can also work around the issue by editing/adding the worker.childopts option in your storm.yaml, which is somewhere in your storm install directory. Something like:
worker.childopts: "-Xmx%HEAP-MEM%m -Xlog:gc*:artifacts/gc.log:time,uptime:filecount=10,filesize=1M -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=artifacts/heapdump"
should work (this is the default in Storm 2.0.0).

Codis - Redis cluster proxy installation

I am exploring a production-stable proxy for redis cluster called codis . It is a mentioned as a great alternative to twemproxy, especially as one of my needs is pipelining and twemproxy does not offer that.
However the documentation in English is still a WIP and the replies to github issues are in mandarin.
I am trying to install this on
Linux version 3.13.0-74-generic (buildd#lcy01-07) (gcc version 4.8.2 (Ubuntu 4.8.2-19ubuntu1) ) #118-Ubuntu SMP
I have installed go version 1.8 and I can see the folder /usr/local/go/bin. I have added this to the PATH variable as well.
However, when on executing the command go get -u -d github.com/CodisLabs/codis, I am getting the following :
package github.com/CodisLabs/codis:
no buildable Go source files in /home/ubuntu/go/src/github.com/CodisLabs/codis
You probably want to use the updated install outlined at https://github.com/CodisLabs/codis/issues/1180#issuecomment-286660086
seems the English docs might be out of date https://github.com/CodisLabs/codis/issues/1179#issuecomment-286662505

Cannot build JXcore on one of Windows machines

I'm trying to build JXcore on Windows 7 (64 bits).
In fact I have two identical virtual machines, but when i run vcbuild.bat it fails for one of them. I get the following error:
C:\jxcore\vcbuild.bat
File "configure", line 339
'''
^
SyntaxError: Missing parentheses in call to 'print'
Failed to create vc project files.
On the second machine I don't have this problem. As far as I remember, I've created them both identical. Where is the problem then?
Are those two VMs really equal? I can bet, that the one which fails, has Python 3.X installed, while the JXcore docs are stating about Python 2.6 or 2.7.
Nevertheless, we've just made an update, and the error that you've posted should not show up any more. Instead you should see something like this:
C:\jxcore>vcbuild.bat
You need Python 2.6 or 2.7 for the script to run. Currently installed version: 3.4.3
I hope that solves your problem. Thanks for using JXcore!

PHPUnit xdebug.coverage_enable=On message

How to get through "You need to set xdebug.coverage_enable=On in your php.ini." message?
I have set xdebug.coverage_enable=On in the proper (--ini) php.ini file but it had no effect. Im on mac os x snow leopard
What version of xdebug are you using?
php --ri xdebug
will tell you that version (amongst everything else)
PHP_CodeCoverage 1.0.2 (which is used by PHPUnit to collect code coverage information) has this bit of source code
if (version_compare(phpversion('xdebug'), '2.2.0-dev', '>=') &&
!ini_get('xdebug.coverage_enable')) {
die("You need to set xdebug.coverage_enable=On in your php.ini.\n");
}
Based on this logic you would get this error only if you have installed xdebug 2.2.0-dev. Which, in my opinion should not be used before it is stable.
xdebug 2.1.0 is stable and works well enough.
If you however are not running 2.2.0-dev, then this starts to look like a bug, and you need to give more information about what versions of everything relevant you are using.
Update - it looks like this was an actual bug in PHP_CodeCoverage that was fixed in 1.0.2 3 days ago. You probably had an older version. Upgrade, and it should be fine now.

Problem with Zend Framework Quickstart Tutorial and version 1.8.2

I'm trying to work through the quick start tutorial of the Zend Framework version 1.8.2, but I'm getting an error when running this code:
zf.sh create project quickstart
error: expecting `'{'' in /Users/andrew/Sites/_library/ZendFramework-1.8.2/library/Zend/Tool/Framework/Client/Console.php on line 63
I'm doing this on Mac OS X 10.4. Is there an error in Zend Tool? or am I doing something wrong? Or is my environment not set up correctly to run this script?
I tried this on my other computer and got
-bash: zf.sh: command not found
I think this one is a separate problem, but not sure what to do
to the second problem:
$ chmod +x zf.sh
or place it to /usr/bin (or where the other executables lives, don't know where it is in OS X)
or use
$ sh ./zf.sh
first problem:
which PHP version do you use? The problem exists maybe at multi interface implementation.
you can still manually create the folder structure that Zend_Tool does, the quickstart guide does give examples of the naming conventions and there are numerous other examples. in order to better understand the framework, doing this manually can be good since your forced to think about the files your creating and how they are used.

Resources