Yarn API alternative to deprecated LogAggregationUtils.getRemoteNodeLogDirSuffix - hadoop-yarn

I've inherited legacy Java code that imports org.apache.hadoop.yarn.logaggregation.LogAggregationUtils class to call LogAggregationUtils.getRemoteNodeLogDirSuffix(Configuration) method. The Hadoop libraries used are in version 2.3.0-cdh5.0.0 and I am trying to port it to version 3.2.2. Unfortunately in version 3.2.2 the getRemoteNodeLogDirSuffix(Configuration) no longer exists. Can anyone suggest a suitable alternative?
I've looked at documentation for version 3.2.2 but I can't see viable candidates https://hadoop.apache.org/docs/r3.2.2/hadoop-yarn/hadoop-yarn-common/apidocs/index.html

Related

Limit Qt API to specific version?

is it possible to reduce/limit the Qt API features to specific earlier versions?
In the API documentation there is e.g. information that methods are introduced with version major.minor.
Can you restrict the API features of an installed newer version to the earlier ones without installing?
I don't think so, because there are no version conditions in the header files.
But maybe you know for sure...
Is there a tool which detects the usage of incompatible API to a specific version?
Thanks
Markus

Leiningen > 2.8.1 and Cursive?

Does Cursive support Leiningen at versions above 2.8.1? If so, how do I make Cursive aware of a newer version? I am currently on 2.8.3 - with no standalone.jar.
Thank you.
I've just released a 1.8.1-eap3 which includes support for recent lein versions. They haven't received the extensive testing that I like to give new lein versions though (the integration is very brittle), so please report any issues in the tracker. Assuming there are no serious problems I'll try to get this into a stable build soon.
If you're not currently set up to use EAP versions, instructions for how to do so are here.
Thanks for posting because it helped me discover an issue with my own installation of Leiningen.
Version 2.8.2 of Leiningen has a breaking change to use 0.5.0 of nREPL instead of tools.nrepl 0.2.13 previously. I’m guessing this requires a code change that the author of Cursive is not yet ready to release. This also affects other libraries that have a dependency on nREPL such as piggieback.
I ended up downloading a local copy of 2.8.1 into my project because I couldn’t downgrade my brew installed version from 2.9.0.

wxWidgets Libraries missing from 3.1.0

I am building a solution with CMake that uses wxWidgets. I have downloaded the source code for 3.1.0 and compiled it without issue. However, there are three libraries that my solution needs that are not in 3.1.0: dbgrid, mono, and odbc. I tried compiling 3.0.2, but VStudio 2015 will not compile the source code because it is outdated. I tried building 3.0.2 with GCC, but the Makefile was not recognized.
Any thoughts/suggestions on how I can build or find these three libraries, or build wxWidgets 3.0.2?
Thank you.
You should use the components with the same version known to work with your "solution". For example, use the same wxWidgets version that worked without issues.
On a more detailed note, ODBC component, including dbgrid, have been removed from anything later than wxWidgets 2.8; I have no idea what "mono" is but it doesn't sound like anything in wxWidgets. So going with any 3.x version is not going to help you. You might need to dig up version 2.8.12 from somewhere.
Also, for the sake of completeness, I have no idea what "the Makefile was not recognized" means, but GCC is a pretty reliable way of building wxWidgets, regardless the version of either of the two or the flavour of the former.

How to setup PHPUnit for Intellij IDEA 13.1 on Ubuntu 13.10?

I'm developing a PHP5 program using IDEA 13.1. Of course I want to cover my code using some Unit tests.
I installed phpunit via aptitude and upgraded it to 4.0.11 using pear.
Somehow IDEA seems unable to detect the installed PHPUnit... The class PHPUnit_Framework_TestCase is marked as undefined. The documentation on https://www.jetbrains.com/idea/webhelp/enabling-phpunit-support.html wants me to include either the pear directory (which does not exist) or the phpunit.phar (which does not exist, either).
So far most things went smooth with IDEA so I'm surprised that something as fundamental as setting up PHPUnit does not work :-(
Ok, after some fiddling around I got to a working solution. I downloaded phpunit-lts.phar from phpunit.de and put it directly into the project (along with the other files... meh).
Do not use the most current version (4.0 as of 21st of march 2014) of PHPUnit! Versions beyond 3.7 (or 3.8, as it seems) are not supported by IDEA or PHPStorm. You will get
PHP Fatal error: Class IDE_PHPUnit_Framework_TestListener contains 1 abstract method and must therefore be declared abstract or implement the remaining methods (PHPUnit_Framework_TestListener::addRiskyTest) in /tmp/ide-phpunit.php on line 504
So do yourself a favor and stick to the LTS version for now.
Another solution:
Set
"phpunit/phpunit": "3.7"
in composer.json
and run
composer update
Then the issue will be resolved.

How should one deal with library clashes in Application Servers?

Third-party libraries are often included by the appliation server you are deploying to and class with the ones included by your application. So far I have dealt with this in the simplest and hackiest way possible: removing the libraries on the app server.
In our case it is ok, noone is relying on the app server to provide them with any libraries. But if I were running my app along with lots of other peoples app, which again might depend on the libraries included by the application server, this would not be a solution.
How is this supposed to be solved (cleanly)? How are you doing it?
An example of a problem might be this:
you build an jax-rs application using cxf, hibernate and jackson, and deploy to glassfish 2.1.1. glassfish supplies the asm 3.1 library, but this causes clashes with hibernate using an incompatible 1.5 version. similarly the application needs jackson 1.8.2 (due to a bug fix), but glassfish 2.1.1 ships with version 0.9. BOOM. Any way of fixing this other than simply removing offending libraries?
consider using :
asadmin deploy --libraries ...