[PATCH] StoreID latest implementation in sync with rev 12552. stage 2-3 from 3.

From: Eliezer Croitoru <eliezer_at_ngtech.co.il>
Date: Sat, 29 Dec 2012 09:16:23 +0200

Thanks for all the help until now.

This PATCH is in sync with trunk which comes after the last preview.
I tried my best until now in the small windows of time I have for the
project with hopes for the best.

This no longer a PREVIEW since most of the code was reviewed couple
times and was tested in a small production testing environment for
couple weeks with a great success.
I left couple FIXME and TODO in the code.

One question I had regarding the documentation\comments:
I have seen in the code couple places where the first line of a comment
was out-of-line from the comment start like "/**\n * text\n */" and
others where the first test is inline with comment start and wasn't sure
how much it's important.
I have tried to use in most of my code the "/**\n" since I think it's
more readable.
Is there a preference about it?

I have decided to leave the store_id string variable null in cases it's
not needed which allow to use the store_id.undefined().
This adds the flexibility of a basic true\false check when needed later.

While testing some helpers I have seen a bug when using concurrency
which I will debug later after committing the working StoreID to trunk.

TESTS: I tested this patch and found some bugs related to helper code
and I am looking for other tests.
cases:
- regular ok reply with store-id=value(not empty) = works.
- reply with empty store-id key pair = getting some assertion problem.
- ok reply with the original url = works and wont set the store_id value.
- simple PURGE request from squidclient = erases the object.

havn't tested yet?
- broker helper replies(drop me some if you have in mind).
- reply with k-v other then store-id.
- reply with too many spaces between parts.
- htcp related tests.
- icp related tests.

Regarding back-porting the code into 3.2 branch:
What do think? There is quite a different in the design of the code in
3.2 vs trunk.

The next thing after this patch is adding ICAP the option to respond
with some StoreID for a request.
How do I even start on that?
and a case I had in mind is what to do when Store-ID is used in ICAP? do
we allow second helper?
if so what and how do we send to the helper since it comes after the
ICAP REQMOD service ?

I have reviewed the patch and code couple times but I still might not
see something.

If someone have some scripts of basics code\syntax checks I will be more
then happy to have them in order to check any future code related the
project.

Thanks,
Eliezer

Received on Sat Dec 29 2012 - 07:16:42 MST

This archive was generated by hypermail 2.2.0 : Sat Dec 29 2012 - 12:00:50 MST