Hi Leonardo,

Thanks a lot for your help. We were able to fix the issue. You can pull the new 
images. 
Additionally, you can take a look at the changes here:

https://github.com/ParsaLab/cloudsuite/commit/65644f3195c9e327afd3ff370748a573d0f7f984
 
<https://github.com/ParsaLab/cloudsuite/commit/65644f3195c9e327afd3ff370748a573d0f7f984>

Thanks again!

Regards,
Javier

> On 04 Mar 2016, at 18:59, Leonardo Piga <[email protected]> wrote:
> 
> Hi Javier,
> 
> I found a solution.
> 
> Faban is not following the third redirect chain to the activity. So I
> forced it manually. The following code does the trick and worked for
> me.
> Now my next task is to try to saturate one one the components.
> 
>    public void doLogin() throws Exception {
>        boolean success = false;
>        long loginStart = 0, loginEnd = 0;
>        context.recordTime();
>        logger.fine(context.getThreadId() + " : Doing operation: doLogin with"
>                + thisClient.getUsername());
> 
>        /*
>         * To do the login, To login, we need four parameters in the POST query
>         * 1. Elgg token 2. Elgg timestamp 3. user name 4. password
>         */
>        String postRequest = "__elgg_token=" + thisClient.getElggToken()
>                + "&__elgg_ts=" + thisClient.getElggTs() + "&username="
>                + thisClient.getUsername() + "&password="
>                + thisClient.getPassword();
> 
>        for (String url : LOGIN_URLS) {
>            thisClient.getHttp().readURL(hostUrl + url);
>        }
> 
>        Map<String, String> headers = new HashMap<String, String>();
>        headers.put("Accept",
> 
> "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
>        headers.put("Accept-Language", "en-US,en;q=0.5");
>        headers.put("Accept-Encoding", "gzip, deflate");
>        headers.put("Referer", hostUrl + "/");
>        headers.put("User-Agent",
>                "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:33.0)
> Gecko/20100101 Firefox/33.0");
>        headers.put("Content-Type", "application/x-www-form-urlencoded");
> 
>        thisClient.getHttp().readURL(hostUrl + LOGIN_URL,
>                        postRequest, headers);
>        StringBuilder sb = thisClient.getHttp().fetchURL(hostUrl +
> ACTIVITY_URL);
> 
>        updateElggTokenAndTs(thisClient, sb, true);
>        printErrorMessageIfAny(sb, postRequest);
>        if (sb.toString().contains("You have been logged in")) {
>            logger.fine("Successfully logged in: "+thisClient.getUsername());
>        } else {
>            logger.fine("!!!!!!!!!!!!!!!!!! Failed to log in
> :"+thisClient.getUsername()+"!!!!!!!!!!!!!!!!!!!!!");
>            throw new RuntimeException(sb.toString());
>        }
>        thisClient.setLoggedIn(true);
>        thisClient.setClientState(ClientState.LOGGED_IN);
>        success = true;
> 
>        context.recordTime();
> 
>        if (success)
>            elggMetrics.attemptLoginCnt++;
>    }
> Leonardo
> 
> 
> On Thu, Mar 3, 2016 at 10:54 PM, Leonardo Piga <[email protected]> 
> wrote:
>> Hi Javier,
>> 
>> I got a clue. It seems a problem with Faban driver.
>> 
>> I believe that Faban is not accessing the /activity page after login.
>> 
>> Here is the nginx log when login using chrome:
>> [04/Mar/2016:01:47:20 +0000] "POST /action/login HTTP/1.1" 302 5
>> "http://web_server:8080/"; "Mozilla/5.0 (X11; Linux x86_64)
>> AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.86
>> Safari/537.36"
>> [04/Mar/2016:01:47:21 +0000] "GET / HTTP/1.1" 302 5
>> "http://web_server:8080/"; "Mozilla/5.0 (X11; Linux x86_64)
>> AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.86
>> Safari/537.36"
>> [04/Mar/2016:01:47:21 +0000] "GET /activity HTTP/1.1" 200 7746
>> "http://web_server:8080/"; "Mozilla/5.0 (X11; Linux x86_64)
>> AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.86
>> Safari/537.36"
>> [04/Mar/2016:01:47:22 +0000] "GET /elggchat_scroll.js HTTP/1.1" 404
>> 5502 "http://web_server:8080/activity"; "Mozilla/5.0 (X11; Linux
>> x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.86
>> Safari/537.36"
>> [04/Mar/2016:01:47:22 +0000] "GET /framework/wall/init.js HTTP/1.1"
>> 404 5502 "http://web_server:8080/activity"; "Mozilla/5.0 (X11; Linux
>> x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.86
>> Safari/537.36"
>> 
>> Here is the nginx log when login using Faban:
>> [04/Mar/2016:01:51:05 +0000] "POST /action/login HTTP/1.1" 302 5
>> "http://web_server:8080/"; "Mozilla/5.0 (X11; Ubuntu; Linux x86_64;
>> rv:33.0) Gecko/20100101 Firefox/33.0"
>> [04/Mar/2016:01:51:06 +0000] "GET / HTTP/1.1" 200 7892 "-" "Java/1.7.0_95"
>> [04/Mar/2016:01:51:07 +0000] "GET
>> /_graphics/icons/user/defaulttopbar.gif HTTP/1.1" 200 599 "-"
>> "Java/1.7.0_95"
>> [04/Mar/2016:01:51:07 +0000] "GET /_graphics/toptoolbar_background.gif
>> HTTP/1.1" 200 2028 "-" "Java/1.7.0_95"
>> [04/Mar/2016:01:51:07 +0000] "GET
>> /mod/reportedcontent/graphics/icon_reportthis.gif HTTP/1.1" 200 570
>> "-" "Java/1.7.0_95"
>> 
>> Note that Faban does not try to access the activity and also the
>> redirection is returning 200 where in the browser it returns 302. I
>> suspect there is a third redirection to /activity but Faban is not
>> able to do that
>> In the browser the login page is redirected to
>> http://web_server:8080/activity and that page has the "You have been
>> logged in".
>> 
>> Thanks for looking at this
>> Leonardo
>> 
>> 
>> On Thu, Mar 3, 2016 at 7:45 PM, Javier Picorel <[email protected]> 
>> wrote:
>>> Hi Leonardo,
>>> 
>>> Thanks a lot for pointing that out! It seems that we broke something in our
>>> last update :(. We are currently trying to figure out what. As soon as we
>>> have news, we’ll let you know.
>>> 
>>> Regards,
>>> Javier
>>> 
>>>> On 03 Mar 2016, at 21:50, Leonardo Piga <[email protected]> wrote:
>>>> 
>>>> Hi All,
>>>> 
>>>> Still debugging the Web Server and I figured out the logins are never
>>>> successful.
>>>> 
>>>> The back-end works well, however the page returned to the faban driver
>>>> needs to interpret a javascript to print the "You have been logged in"
>>>> message. Faban is not doing that, in this way, that message is never
>>>> seen by faban you don't have a way to figure out if the login was
>>>> successful. Becase this is never there Faban assumes that login fails
>>>> and returns
>>>> 
>>>> I think this is a big problem as state of the Faban driver never
>>>> changes to LOGGED_IN and all other operations (e.g., addFriend,
>>>> sendChatMessage, etc) never goes to server. So the benchmark is not
>>>> benchmarking anything.
>>>> 
>>>> I tried to find a way to fix that, but I still couldn't find way.
>>>> People should not use this at the way that is delivered because the
>>>> only operation that goes to the web sever is login. Others are never
>>>> executed.
>>>> 
>>>> I will see if I can come up with a solution, but I want to make people
>>>> aware and see if others are working on a fix.
>>>> 
>>>> Thanks,
>>>> --
>>>> Leonardo
>>> 

Reply via email to