Hi Venkat,

Scheduled a meeting on Monday.

On Sat, Jul 23, 2016 at 5:06 AM, Venkat Raman <[email protected]> wrote:

> I missed to mention about test environment.
>
> OS Ubuntu 16.04 64 bit - VM
> 4 GB RAM, 4 Cores
>
> Host Machine is Macbook Pro 16GB RAM
>
> Also kindly find the attached ApacheBench results too.
>
>
>
>
>
> *Venkat.*
>
> On Sat, Jul 23, 2016 at 5:06 PM, Venkat Raman <[email protected]>
> wrote:
>
>> Hi All,
>>
>> I've customized perf-benchmark scripts for our LB.  Kindly find it here.
>> <https://github.com/Venkat2811/product-http-load-balancer/tree/master/performance-benchmark>
>>
>> You can also find Nginx config that I used for this bench-marking here.
>> <https://github.com/Venkat2811/product-http-load-balancer/blob/master/performance-benchmark/nginx/nginx.conf>
>>
>> I've also attached preliminary test results.  Kindly have a look at it.
>>
>> @IsuruR - We should have a discussion/code review ASAP.  You can see that
>> test results are good and promising, but it can be improvised.  Kindly note
>> that we have only few weeks left.  I understand that you are very busy, but
>> kindly do allocate little time for this also Isuru.
>>
>> Once we do our code review, with Samiyuru's guidance I'll do memory test
>> also. If you are free we can do it today or tomorrow.
>>
>> @Kasun - If you are free we can have demo today / tomorrow.
>>
>>
>> Will be looking forward to hear from you.
>>
>>
>>
>> *Thanks,*
>> *Venkat.*
>>
>> On Thu, Jul 21, 2016 at 11:13 AM, Venkat Raman <[email protected]>
>> wrote:
>>
>>> Hi IsuruP and Samiyuru,
>>>
>>> Good morning.  Kindly find the project here.
>>> <https://github.com/Venkat2811/product-http-load-balancer>
>>>
>>> I also gave a demo to IsuruR and he is happy with the features
>>> implemented so far.
>>>
>>> Now we are in performance testing phase.  We need to do performance
>>> bench-marking similar to that of MSF4J.  For the project scope we have
>>> planned to compare with Nginx.
>>>
>>> Yesterday I tested Nginx and our LB with 1,000,000 requests and 10,000
>>> concurrency.  Performance was close.  Test was done with apache benchmark
>>> on Ubuntu 64 bit VM with 8 GB RAM and 3 CPU cores. I used VMware Fusion as
>>> Hypervisor. Host machine is MacBook pro 16GB.
>>>
>>> I also tried MSF4J bench-marking scripts.  We need to do a similar
>>> comparison between Nginx and our LB.  It would be great if you could help
>>> and guide me through it.
>>>
>>> Looking forward to hear from you.
>>>
>>>
>>>
>>> *Thanks,*
>>> *Venkat.*
>>>
>>> On Thu, Jul 21, 2016 at 9:43 AM, Venkat Raman <[email protected]>
>>> wrote:
>>>
>>>> Hi Isuru,
>>>>
>>>> Good morning.  Yesterday I tested Nginx and our LB with 1,000,000
>>>> requests and 10,000 concurrency.  Performance was close.
>>>>
>>>> As you suggested I tried MSF4J's perf benchmark.  I'm working
>>>> customizing that script to test our LB.
>>>>
>>>>
>>>>
>>>>
>>>> *Thanks,*
>>>> *Venkat.*
>>>>
>>>> On Mon, Jul 18, 2016 at 9:16 AM, Venkat Raman <[email protected]>
>>>> wrote:
>>>>
>>>>> Hi Isuru,
>>>>>
>>>>> Good morning.  Please find 8th week's progress.
>>>>>
>>>>> 1) Removed SSL related config from LB as it is abstracted at
>>>>> gateway-framework level.
>>>>> 2) Added groups support as we discussed.  Now, LB will support
>>>>> multiple groups in a single .iflow file  (Designing and implementing this
>>>>> without   affecting any of the existing functionality took few days).
>>>>>
>>>>> *Thanks,*
>>>>> *Venkat.*
>>>>> Hi Isuru,
>>>>>
>>>>> Can we do review by 10 PM ..?
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> *Thanks,*
>>>>> *Venkat.*
>>>>>
>>>>> On Mon, Jul 11, 2016 at 10:52 PM, Venkat Raman <[email protected]>
>>>>> wrote:
>>>>>
>>>>>> Hi Isuru,
>>>>>>
>>>>>> Thanks for your time.  From today's discussion :
>>>>>>
>>>>>> 1) Remove SSL related config from LB level, as it is completely
>>>>>> dependent on transports level (carbon-transports).  LB sees as Inbound 
>>>>>> and
>>>>>> Outbound endpoints.  It is abstracted at gateway-framework level.
>>>>>>
>>>>>> 2) Add endpoints parameter to LB so that we can load balance multiple
>>>>>> groups specified in a single .iflow file.
>>>>>>
>>>>>> 3) Do Performance benchmark similar to MSF4J.
>>>>>>
>>>>>> 4) Transports statistics can be added at LB level, if needed.
>>>>>>
>>>>>> Will be looking forward for tomorrow's demo with Kasun. :)
>>>>>>
>>>>>>
>>>>>> *Thanks,*
>>>>>> *Venkat.*
>>>>>>
>>>>>> On Mon, Jul 11, 2016 at 7:46 AM, Venkat Raman <[email protected]>
>>>>>> wrote:
>>>>>>
>>>>>>> Hi Isuru,
>>>>>>>
>>>>>>> Good morning. Please find 7th week's progress.
>>>>>>>
>>>>>>> 1) Code Optimization - I've done some refactoring and optimization.
>>>>>>> 2) Though SSL support is not added in gateway-framework, I figured a
>>>>>>> work around and checked whether SSL offload and end to end encryption is
>>>>>>> working or not.. It is working fine. Once it is available in
>>>>>>> gateway-framework github, I'll take that.
>>>>>>> 3) Added statistics support and removed it. We have to discuss about
>>>>>>> this in our call today.
>>>>>>> 4) I've set up nginx LB in Ubuntu 64 bit VM. Did a load test using
>>>>>>> Apache Benchmark. I gave 10,00,000 requests & 1,00,000 requests with
>>>>>>> concurrency level of 1000.
>>>>>>> AvgTime of -
>>>>>>> 1) Nginx : 1.036
>>>>>>> 2) Our LB :1.364 (with Disrupor                         enabled)
>>>>>>>
>>>>>>> I had 5 Stockquote services as BE for Load Testing
>>>>>>>
>>>>>>> We'll discuss more in our call today Isuru.
>>>>>>>
>>>>>>> I know that you are busy, but kindly make it this time so that we
>>>>>>> can discuss and I'll have good time to make improvements.
>>>>>>>
>>>>>>> Also kindly add SSL support in gateway-framework by this week so
>>>>>>> that we can do load testing with SSL enabled.
>>>>>>>
>>>>>>> Thanks,
>>>>>>> Venkat.
>>>>>>> On Jul 10, 2016 8:23 PM, "Isuru Ranawaka" <[email protected]> wrote:
>>>>>>>
>>>>>>>> Hi Venkat
>>>>>>>>  I have scheduled a call on monday 9 30 p.m
>>>>>>>>
>>>>>>>> On Sat, Jul 9, 2016 at 9:43 PM, Venkat Raman <[email protected]>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>> Oh okay Kasun.  :)
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> *Thanks,*
>>>>>>>>> *Venkat.*
>>>>>>>>>
>>>>>>>>> On Sat, Jul 9, 2016 at 9:36 PM, Kasun Indrasiri <[email protected]>
>>>>>>>>> wrote:
>>>>>>>>>
>>>>>>>>>> That's fine. I was referring to demo that we were planning. You
>>>>>>>>>> guys can discuss the HTTPS related things at any convenient time.
>>>>>>>>>>
>>>>>>>>>> On Sat, Jul 9, 2016 at 9:03 AM, Venkat Raman <
>>>>>>>>>> [email protected]> wrote:
>>>>>>>>>>
>>>>>>>>>>> Hi Kasun,
>>>>>>>>>>>
>>>>>>>>>>> I'll be available on Tue 10 PM IST.   Isuru and I were planning
>>>>>>>>>>> to have discussion on HTTPS, Transports-statistics and also about
>>>>>>>>>>> proceeding with load and performance testing tomorrow.  That's why 
>>>>>>>>>>> I was
>>>>>>>>>>> asking him about his availability.
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> *Thanks,*
>>>>>>>>>>> *Venkat.*
>>>>>>>>>>>
>>>>>>>>>>> On Sat, Jul 9, 2016 at 9:19 PM, Kasun Indrasiri <[email protected]>
>>>>>>>>>>> wrote:
>>>>>>>>>>>
>>>>>>>>>>>> I'm in PDT time zone and might not able to make it on Sunday
>>>>>>>>>>>> night. How about Tue night 10pm IST?
>>>>>>>>>>>>
>>>>>>>>>>>> On Sat, Jul 9, 2016 at 7:26 AM, Venkat Raman <
>>>>>>>>>>>> [email protected]> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>> Hi Isuru,
>>>>>>>>>>>>>
>>>>>>>>>>>>> At what time can we have our call tomorrow.. ?
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> *Thanks,*
>>>>>>>>>>>>> *Venkat.*
>>>>>>>>>>>>>
>>>>>>>>>>>>> On Fri, Jul 8, 2016 at 8:04 AM, Venkat Raman <
>>>>>>>>>>>>> [email protected]> wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>>> Hi Isuru,
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> My bad.  I shared the URL of no SSL again.  It is available
>>>>>>>>>>>>>> under samples\conf\transports
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Thanks,
>>>>>>>>>>>>>> Venkat.
>>>>>>>>>>>>>> On Jul 8, 2016 7:58 AM, "Isuru Ranawaka" <[email protected]>
>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Hi Venkat,
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> SSL OFFLOAD  thing I can't see https is enabled.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> On Wed, Jul 6, 2016 at 10:11 PM, Venkat Raman <
>>>>>>>>>>>>>>> [email protected]> wrote:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Hi Isuru,
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> I'm blocked by this issue from yesterday.  We need have a
>>>>>>>>>>>>>>>> small discussion ASAP.  I'll try to explain the scenario more 
>>>>>>>>>>>>>>>> clearly here
>>>>>>>>>>>>>>>> than I did in hangouts.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> For LB these are the 3 different types netty-transports.yml
>>>>>>>>>>>>>>>> configs that we need to support.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> 1) For no ssl : no_SSL
>>>>>>>>>>>>>>>> <https://github.com/Venkat2811/product-http-load-balancer/blob/master/product/carbon-home/samples/conf/transports/no-ssl-netty-transports.yml>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> 2) SSL_OFFLOAD : (i.e) https listener and http sender
>>>>>>>>>>>>>>>> ssl_offload
>>>>>>>>>>>>>>>> <https://github.com/Venkat2811/product-http-load-balancer/blob/master/product/carbon-home/samples/conf/transports/no-ssl-netty-transports.yml>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> 3) END_TO_END : (i.e) https listener and https sender
>>>>>>>>>>>>>>>> end_to_end
>>>>>>>>>>>>>>>> <https://github.com/Venkat2811/product-http-load-balancer/blob/master/product/carbon-home/samples/conf/transports/end-to-end-netty-transports.yml>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Are these configs correct..?
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> So far I have been using (1) as we were dealing only with
>>>>>>>>>>>>>>>> http.  It was working fine.  Refer first screenshot for logs.  
>>>>>>>>>>>>>>>> If you see,
>>>>>>>>>>>>>>>> netty listener is starting in both 8290 and 9090.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> 8290 is inboundEndpoint  port specified in router.iflow
>>>>>>>>>>>>>>>> file and 9090 is specified in netty-transports.yml
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Now, when I try (2)&(3), since we need to deal with https,
>>>>>>>>>>>>>>>> netty listener is starting only in 9292.  Refer second 
>>>>>>>>>>>>>>>> screenshot for
>>>>>>>>>>>>>>>> logs.  *We need a netty listener to be started in 8290
>>>>>>>>>>>>>>>> port also.  But it is not happening.*
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> 9292 is specified in netty-transports.yml & 8290 is
>>>>>>>>>>>>>>>> specified in router.iflow
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> But, when I change 8290 to 9292 in our router.iflow file,
>>>>>>>>>>>>>>>> ssl is working fine.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Kindly guide me through it.
>>>>>>>>>>>>>>>> * It is critical as it is blocking my progress.*
>>>>>>>>>>>>>>>> Looking forward to hear from you.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> *Thanks,*
>>>>>>>>>>>>>>>> *Venkat.*
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> On Mon, Jul 4, 2016 at 10:33 AM, Venkat Raman <
>>>>>>>>>>>>>>>> [email protected]> wrote:
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Hi Isuru,
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Good morning.  Please find 6th week's progress
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> 1)  Demo / Discussion
>>>>>>>>>>>>>>>>> 2)  Change in Health Checking : Instead of caching and
>>>>>>>>>>>>>>>>> re-using carbonMessage's properties, we are establishing a 
>>>>>>>>>>>>>>>>> socket
>>>>>>>>>>>>>>>>> connection to see whether specified endpoint is alive or not. 
>>>>>>>>>>>>>>>>> Find the
>>>>>>>>>>>>>>>>> issue
>>>>>>>>>>>>>>>>> <https://github.com/Venkat2811/product-http-load-balancer/issues/2>
>>>>>>>>>>>>>>>>> here.
>>>>>>>>>>>>>>>>> 3)  Active Health Checking.  Previously it was only
>>>>>>>>>>>>>>>>> passive mode available.  I've implemented active health 
>>>>>>>>>>>>>>>>> checking as you
>>>>>>>>>>>>>>>>> asked during our demo.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Also kindly find my new post on mid-term evaluation here
>>>>>>>>>>>>>>>>> <https://venkat2811.blogspot.in/2016/07/gsoc-mid-term-evaluation.html>
>>>>>>>>>>>>>>>>> .
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> It would be great if you could share some SSL config
>>>>>>>>>>>>>>>>> samples with me.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Looking forward for our code review today.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> *Thanks,*
>>>>>>>>>>>>>>>>> *Venkat.*
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> On Sun, Jul 3, 2016 at 4:49 PM, Venkat Raman <
>>>>>>>>>>>>>>>>> [email protected]> wrote:
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Hi Isuru,
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> As discussed yesterday, I've added ACTIVE_HEALTH_CHECK
>>>>>>>>>>>>>>>>>> feature.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Do we have code review today..?  Also could you kindly
>>>>>>>>>>>>>>>>>> share sample SSL config .?
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> *Thanks,*
>>>>>>>>>>>>>>>>>> *Venkat.*
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> On Sat, Jul 2, 2016 at 11:31 PM, Venkat Raman <
>>>>>>>>>>>>>>>>>> [email protected]> wrote:
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> Hi Isuru,
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> Here is the summary of our demo / discussion today.
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> DEMO:
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> 1) Algorithms: ROUND_ROBIN and WEIGHTED_ROUND_ROBIN
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> 2) Persistence : NO_PERSISTENCE and CLIENT_IP_HASHING.
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> 3) Health Checking : PASSIVE
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> DISCUSSION:
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> 1) Persistence : Difference between LB_COOKIE &
>>>>>>>>>>>>>>>>>>> APPLICATION_COOKIE.
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> 2) Support for HTTPS : We discussed regarding adding
>>>>>>>>>>>>>>>>>>> separate HTTPSEndpoints or not. Browser expects https when 
>>>>>>>>>>>>>>>>>>> it is dealing
>>>>>>>>>>>>>>>>>>> with SSL.  As of now, we are adding SSL configs as 
>>>>>>>>>>>>>>>>>>> parameters.  We need to
>>>>>>>>>>>>>>>>>>> look into it.
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> 3) Active Health Checking : I'll add this new feature by
>>>>>>>>>>>>>>>>>>> this week.
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> Also, kindly share sample SSL configs and also any PPT /
>>>>>>>>>>>>>>>>>>> documentation / architecture diagrams for carbon-transports 
>>>>>>>>>>>>>>>>>>> with me, so
>>>>>>>>>>>>>>>>>>> that it would be helpful for me to add SSL.
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> As discussed, if you are free we can do our code review
>>>>>>>>>>>>>>>>>>> tomorrow.
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> *Thanks,*
>>>>>>>>>>>>>>>>>>> *Venkat.*
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> On Sat, Jul 2, 2016 at 8:46 PM, Venkat Raman <
>>>>>>>>>>>>>>>>>>> [email protected]> wrote:
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> Hi Isuru,
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> If you are free, can we have review tomorrow..?
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> *Thanks,*
>>>>>>>>>>>>>>>>>>>> *Venkat.*
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> On Wed, Jun 29, 2016 at 10:40 PM, Venkat Raman <
>>>>>>>>>>>>>>>>>>>> [email protected]> wrote:
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> I'm ready for our demo Isuru.  Awaiting your arrival.
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> *Thanks,*
>>>>>>>>>>>>>>>>>>>>> *Venkat.*
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> On Wed, Jun 29, 2016 at 7:13 AM, Venkat Raman <
>>>>>>>>>>>>>>>>>>>>> [email protected]> wrote:
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> Hi Kasun,
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> Yea sure !
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> Thanks,
>>>>>>>>>>>>>>>>>>>>>> Venkat.
>>>>>>>>>>>>>>>>>>>>>> On Jun 29, 2016 4:37 AM, "Kasun Indrasiri" <
>>>>>>>>>>>>>>>>>>>>>> [email protected]> wrote:
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> Hi Venkat,
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> Good progress indeed!
>>>>>>>>>>>>>>>>>>>>>>> Shall we do a demo/review on the current status and
>>>>>>>>>>>>>>>>>>>>>>> prioritize the features that we expect for the final 
>>>>>>>>>>>>>>>>>>>>>>> evaluation.
>>>>>>>>>>>>>>>>>>>>>>> IsuruR will help you with arranging the meeting.
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> On Mon, Jun 27, 2016 at 9:19 PM, Venkat Raman <
>>>>>>>>>>>>>>>>>>>>>>> [email protected]> wrote:
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> Hi Isuru,
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> Good morning.  I'm currently working on few
>>>>>>>>>>>>>>>>>>>>>>>> validations and writing unit-test cases.
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> Kindly find the attached document of TODO list.  If
>>>>>>>>>>>>>>>>>>>>>>>> there is anything more kindly let me know.
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> *Thanks,*
>>>>>>>>>>>>>>>>>>>>>>>> *Venkat.*
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> On Tue, Jun 28, 2016 at 1:09 AM, Venkat Raman <
>>>>>>>>>>>>>>>>>>>>>>>> [email protected]> wrote:
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> Hi All,
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> It's been a great journey with WSO2 community !!
>>>>>>>>>>>>>>>>>>>>>>>>> I've passed my mid-term evaluations. :D
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> Thanks for your feedback IsuruR.  And sure, I will
>>>>>>>>>>>>>>>>>>>>>>>>> keep improving OOP knowledge and analytical thinking.
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> Will be working with same pace and dedication to
>>>>>>>>>>>>>>>>>>>>>>>>> make our project successful.  It's been a great 
>>>>>>>>>>>>>>>>>>>>>>>>> learning so far.
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> Would also like to thank IsuruR, Senduran, IsuruU,
>>>>>>>>>>>>>>>>>>>>>>>>> Ravi and Kasun for their valuable support and 
>>>>>>>>>>>>>>>>>>>>>>>>> guidance :)
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> *Thanks,*
>>>>>>>>>>>>>>>>>>>>>>>>> *Venkat.*
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> On Sat, Jun 25, 2016 at 3:10 PM, Venkat Raman <
>>>>>>>>>>>>>>>>>>>>>>>>> [email protected]> wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> Hi Isuru,
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> Good morning.  Please find 5th week's progress.
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> Algorithm : Weighted Round Robin and Weighted
>>>>>>>>>>>>>>>>>>>>>>>>>> Random algorithms.  Kindly note that Client IP 
>>>>>>>>>>>>>>>>>>>>>>>>>> Hashing based is not
>>>>>>>>>>>>>>>>>>>>>>>>>> supported for weighted algorithms.
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> In the following weeks, I'm planning to write
>>>>>>>>>>>>>>>>>>>>>>>>>> Unit Test cases.  Once HTTPS support is added, I'll 
>>>>>>>>>>>>>>>>>>>>>>>>>> add it to LB.
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> Also find the attached Updated mid-term
>>>>>>>>>>>>>>>>>>>>>>>>>> evaluation document.
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> Kindly note that Tuesday early morning (12:30
>>>>>>>>>>>>>>>>>>>>>>>>>> A.M) is the last date, for submitting mid-term 
>>>>>>>>>>>>>>>>>>>>>>>>>> evaluations.
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> *Thanks,*
>>>>>>>>>>>>>>>>>>>>>>>>>> *Venkat.*
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> On Tue, Jun 21, 2016 at 12:43 PM, Venkat Raman <
>>>>>>>>>>>>>>>>>>>>>>>>>> [email protected]> wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> Hi Isuru,
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> I've submitted my Mid - Term evaluation.  It
>>>>>>>>>>>>>>>>>>>>>>>>>>> would be great if you could share your feedback 
>>>>>>>>>>>>>>>>>>>>>>>>>>> with me once you complete
>>>>>>>>>>>>>>>>>>>>>>>>>>> it.
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> Also, I'm looking forward for our code review.
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> *Thanks,*
>>>>>>>>>>>>>>>>>>>>>>>>>>> *Venkat.*
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> On Mon, Jun 20, 2016 at 9:28 AM, Venkat Raman <
>>>>>>>>>>>>>>>>>>>>>>>>>>> [email protected]> wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>> Ok Isuru. Looking forward to it :)
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>> *Thanks,*
>>>>>>>>>>>>>>>>>>>>>>>>>>>> *Venkat.*
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Mon, Jun 20, 2016 at 9:21 AM, Isuru Ranawaka
>>>>>>>>>>>>>>>>>>>>>>>>>>>> <[email protected]> wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hi Venkat,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Good progress. I will schedule a call or code
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> review within this week.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> thanks
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Mon, Jun 20, 2016 at 9:18 AM, Venkat Raman
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> <[email protected]> wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hi Isuru,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Good morning.  Kindly find the 4th week's
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> progress.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1) Algorithm : a)  Least Response Time
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>     Response time of endpoints is calculated
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> by Running Average of response time.  By this 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> value, load will be balanced
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> in such a way that, endpoints high Running 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> average of response time will
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> have less load directed to it and vice versa.  
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> However, persistence will be
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> maintained.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>                     b) Random
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>     Endpoints will be chosen Randomly.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Persistence will be maintained though.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 2) Health Checking : Healthy Endpoint
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> detection.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>    Once an Endpoint is back from unHealthy to
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Healthy state, LB will be able to detect it and 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> direct further incoming
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> traffic to it.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Kindly note that there is a small deviation
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> from my proposal.  In proposal I have mentioned 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> that I'll also be
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> implementing Least Connections Algorithm.  It is 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> possible if we are load
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> balancing on per service basis.  With load 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> balancing based on per endpoint
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> basis, it will not be possible to implement it 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> because, we will not have
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> context outside of a specific iFlow file.  
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Instead, I have implemented
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Strict IP Hashing and Random algorithms which I 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> have mentioned in IF TIME
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> PERMITS section of my proposal.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> This week, I am planning to implement
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Weighted Round Robin.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> As mentioned earlier, I am waiting for HTTPS
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> support to be included in 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> carbon-gateway-framework repo.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I'll also be sending you a document that has
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> consolidated list of all the work that I have 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> done so far, so that it'll be
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> easier for you during mid-term evaluations.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> *Thanks,*
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> *Venkat.*
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Mon, Jun 13, 2016 at 11:03 AM, Venkat
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Raman <[email protected]> wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hi Isusu,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Good morning.  Kindly find the 3rd weeks
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> progress.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1) Algorithm : StrictClientIPHashing
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>    This algorithm uses Client's IP address
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> hashing technique to determine 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> OutboundEndpoint. If Client's IP address is
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> not available in request header, request will 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> be discarded.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 2) Persistence policy : ClientIPHahsing.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>     Same as algorithm. But if Client's IP
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> address is not available in header, instead of 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> discarding the request,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> OutboundEndpoint will be chosen based on 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> specified algorithm.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 3) Implemented LBOutboundEndpoint. (as we
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> discussed in call)
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>   It'll be used inside LB. It will have
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> reference for OutboundEndpoint (HTTP or HTTPS) 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> along with other attributes
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> like healthyFlag, unHealthyRetriesCount, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> healthyRetriesCount and weights
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (will be added in future) for weighted      
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> implementations of certain
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> algorithms.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 4) UnHealthy endpoint detection.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>     I'm using ConcurrentHashMap to store
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> RequestCallBacks (CallBackPool). If response is 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> received from
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> OutboundEndpoint within specified timeOut, the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> corresponding callBack will
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> be removed from pool.  If callBack object is 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> still available in callBack
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> pool, it means that it has been timed out. A 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> separate handler will be
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> periodically checking for this.  In such cases 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> HTTP Error Code 504 :
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> "Gateway Timeout" will be sent back to client. 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> If unHealthyRetries count
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> has been reached, that endpoint will be marked 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> as unHealthy and it will not
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> be chosen by algorithms till it is back to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> healthy.  Kindly note that any
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> other error response from BackEnd will be 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> directly sent back to client. LB
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> will not handle those errors as it'll be 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> application specific.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Now, I'm working Healthy Endpoint detection.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> i.e., when an endpoint is back from unHealthy 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> to Healthy state, LB should
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> detect it automatically and choose that 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> endpoint for further requests.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Also, I'm expecting this to be completed by
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> this week.  It would be great if you could add 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> HTTPS support in
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Carbon-Gateway-Framework by next week so that I 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> can proceed with that.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> *Thanks,*
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> *Venkat.*
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Tue, Jun 7, 2016 at 12:14 PM, Venkat
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Raman <[email protected]> wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hi Isuru,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I've completed client IP hashing based
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> persistence.  Now I'm working on HealthCheck 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Implementation.  Kindly find
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> the here.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> <https://github.com/Venkat2811/product-http-load-balancer>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> *Thanks,*
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> *Venkat.*
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Mon, Jun 6, 2016 at 11:18 AM, Venkat
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Raman <[email protected]> wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hi Isuru,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Good morning.  Kindly find the 2nd week's
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> progress
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1) Implementation of Cookie based
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> persistence
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>     a) LB cookie will be appended with the
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> cookie in response to maintain persistence. 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> So this has the same timeout
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> and other properties of that cookie.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>     b) There won't be any cookie in
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> response from backend.  So, LB will insert 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> its own cookie (session
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> cookie).  It will be valid till client 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> browser is closed.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 2) Laid ground work for Client IP Hashing
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> based persistence.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> This week I'll be continuing to work on
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Client IP hashing.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Your feedback would be very valuable and
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> critical at this point. Will be looking 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> forward to hear from you.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> *Thanks,*
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> *Venkat.*
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Thu, Jun 2, 2016 at 12:02 PM, Venkat
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Raman <[email protected]> wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hi IsuruR,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I've added session persistence support
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Application & LB specific cookie.  Kindly 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> find it in the repo
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> here
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> <https://github.com/Venkat2811/product-http-load-balancer>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> .
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Now, I am planning to start with Client
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> IP hashing based persistence.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Will be looking forward for your
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> feedback. :)
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> *Thanks,*
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> *Venkat.*
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Tue, May 31, 2016 at 3:21 PM, Venkat
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Raman <[email protected]> wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hi All,I'm implementing cookie based
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> persistence. I have found various JAVA 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> libriaries that support HTTP
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Cookies.1) Netty Cookie link           
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Expiration date is not supported.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Not supporting toString() method, so, I 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> have to write my custom toString
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> conversion method so that I can add it to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> carbonMessage header.2) Javax
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Cookie link             Expiration date is 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> not supported. Javax is not
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> supporting toString() method so same case 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> as Netty3) java.net.HttpCookie
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> link.      Supports toString().  But 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> HTTPOnly has to appended manually.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Expiration date is not supported.4) Apache 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> commons http client Cookie
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> link     Supports RFC Date for specifying 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> expiration and toString() is also
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> supported.So shall I use Apache Commons 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> http Client cookie..??
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> *Thanks,*
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> *Venkat.*
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Mon, May 30, 2016 at 10:42 AM, Venkat
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Raman <[email protected]> wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Ok Isuru.Thanks,Venkat. On Mon, May 30,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 2016 at 10:34 AM, Isuru Ranawaka <
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> [email protected]> wrote:Hi
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Venkat.Good.I will look at the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> implementation and setup a call for discuss
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> next steps. thanksOn Mon, May 30, 2016 at 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 10:27 AM, Venkat Raman <
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> [email protected]> wrote:Hi
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Isuru,Good morning :) . Kindly find the 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1st week's progress.1)
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Implementation of Round-Robin algorithm 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> for Outbound Endpoints.2)
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Round-Robin algorithm with group support, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> but one .iflow config file can
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> have only one group as of now as mentioned 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> earlier.3) Few input
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> validations.Kindly find the repo here.In 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> proposal I've mentioned that I'll
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> be covering HTTPS 2nd week,since it'll be 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> made available later in
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> carbon-gateway-framework repo, I'm 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> planning to proceed with adding session
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> persistence.Will be looking forward for 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> your feedback.Thanks,Venkat. On
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Wed, May 25, 2016 at 8:57 PM, Venkat Raman 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> <
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> [email protected]> wrote:Hi
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Ravi,Thank you for the clear explanation 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> :) .  Yes, I added  appropriate
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> log statements and I was able to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> understand the flow and I am clear with it
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> now.  Thanks,Venkat. On Wed, May 25, 2016 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> at 8:09 PM, Ravi Undupitiya <
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> [email protected]> wrote:Hi Venkat, Please
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> find answers inline below. On Tue, May 24, 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 2016 at 9:29 PM, Venkat Raman <
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> [email protected]> wrote:1) Why are
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> we pushing variables in carbon message 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> variables stack..??One of the
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> features of the language is to have 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> variables we can declare and use
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> throughout the mediation flow. We are able 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> to populate variables during
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> loading and during runtime and so variable 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> stack is kept inside the carbon
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> message so each thread has its own 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> variable stack. Hope that clarifies.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>    2) Also could you kindly explain how 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> AbstractFlowController and
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> FlowControllerCallback are working 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> together.  My understanding is not quite
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> clear on this.AbstractFlowControllers are 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> mediators that require
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> controlling the flow (like filter 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> mediator) where we the mediation flow
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> branching out, in which case we want to 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> mediate only the branch we're in
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> and FlowControllerCallback is a 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> CarbonCallback that we pass on to receive
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> method of mediators of a particular 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> branch. This allows us to continue
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> mediation from the parent once a branch is 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> complete. You can test this out
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> by debugging the FilterMediator, try 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> passing on the usual callback and then
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> check by passing on a 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> FlowControllerCallback. @IsuruR, please 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> correct me if
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I'm wrong. :) Thanks,-- Ravi 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> UndupitiyaSenior Software Engineer; WSO2
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> http://wso2.comE-mail: [email protected]: +94 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 772
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 930 712Lean . Enterprise . Middleware -- 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Best RegardsIsuru RanawakaM:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +94714629880Blog :
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> http://isurur.blogspot.com/
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Best Regards
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Isuru Ranawaka
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> M: +94714629880
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Blog : http://isurur.blogspot.com/
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>>>>>>>>>> Kasun Indrasiri
>>>>>>>>>>>>>>>>>>>>>>> Software Architect
>>>>>>>>>>>>>>>>>>>>>>> WSO2, Inc.; http://wso2.com
>>>>>>>>>>>>>>>>>>>>>>> lean.enterprise.middleware
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> cell: +94 77 556 5206
>>>>>>>>>>>>>>>>>>>>>>> Blog : http://kasunpanorama.blogspot.com/
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>> Best Regards
>>>>>>>>>>>>>>> Isuru Ranawaka
>>>>>>>>>>>>>>> M: +94714629880
>>>>>>>>>>>>>>> Blog : http://isurur.blogspot.com/
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> --
>>>>>>>>>>>> Kasun Indrasiri
>>>>>>>>>>>> Software Architect
>>>>>>>>>>>> WSO2, Inc.; http://wso2.com
>>>>>>>>>>>> lean.enterprise.middleware
>>>>>>>>>>>>
>>>>>>>>>>>> cell: +94 77 556 5206
>>>>>>>>>>>> Blog : http://kasunpanorama.blogspot.com/
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> Kasun Indrasiri
>>>>>>>>>> Software Architect
>>>>>>>>>> WSO2, Inc.; http://wso2.com
>>>>>>>>>> lean.enterprise.middleware
>>>>>>>>>>
>>>>>>>>>> cell: +94 77 556 5206
>>>>>>>>>> Blog : http://kasunpanorama.blogspot.com/
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> Best Regards
>>>>>>>> Isuru Ranawaka
>>>>>>>> M: +94714629880
>>>>>>>> Blog : http://isurur.blogspot.com/
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>


-- 
Kasun Indrasiri
Director, Integration Technologies
WSO2, Inc.; http://wso2.com
lean.enterprise.middleware

cell: +1 650 450 2293
Blog : http://kasunpanorama.blogspot.com/
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to