[jira] Created: (TS-291) Enable transparent forward proxying

2010-04-07 Thread Alan M. Carroll (JIRA)
Reporter: Alan M. Carroll Priority: Minor Currently ATS provides only explicit forward proxying. It should support this transparently as well. Transparent means * No configuration on clients. * Origin server sees the client IP address as the source address of the cache

[jira] Commented: (TS-291) Enable transparent forward proxying

2010-04-07 Thread Alan M. Carroll (JIRA)
[ https://issues.apache.org/jira/browse/TS-291?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12854733#action_12854733 ] Alan M. Carroll commented on TS-291: Issue 1 HttpTransact::check_request_validity only

[jira] Created: (TS-320) Do some cleanup on Connection::fast_connect and Connection::bind_connect

2010-04-22 Thread Alan M. Carroll (JIRA)
Type: Improvement Components: Cleanup Affects Versions: 2.0.0a Reporter: Alan M. Carroll Priority: Minor Action Plan: Unify bind_connect, fast_connect. 1. Split out the binding of the target address in to a new method Connection::bind_target(target_ip

Is the ICP code ever executed?

2010-04-23 Thread Alan M. Carroll
I am working on TS-320 which is basically some cleanup of the Connection class and its use. I thought I knew how ICP interacted with the class but the more I look the less sense it makes. The primary example is the call to Connection::bind_connect around line 735 in proxy/ICP.cc. The call has

SocketManager::close vs. SocketManager::fast_close

2010-05-04 Thread Alan M. Carroll
I can't see what the functional difference between these methods is, other than close() printing an error message if the caller tries to close STDIN (file descriptor 0). Surely that check isn't enough to make one fast and the other not.

Validating submitted patches

2010-05-11 Thread Alan M. Carroll
I am trying to get my patches for a couple of the bugs I filed ready to submit and I thought perhaps I would test them a bit first. But I can't figure out how to get the test framework up. The instructions in test/deft seem out of date. Most particularly are the instructions to run gmake in

Re: stdint.h please vote

2010-05-19 Thread Alan M. Carroll
+1 Wednesday, May 19, 2010, 11:31:50 AM, you wrote: On 05/19/2010 09:14 AM, John Plevyak wrote: Yes we will change INXXX_MAX etc. Unfortunately int64 is not standard. So we have a couple alternatives. 1) use nonstandard types where typedef long long int int64; typedef int int32;

2.1.0 Segfaulting in regression tests

2010-05-19 Thread Alan M. Carroll
I am trying to run regression tests (traffic_server -R 1) but it segfaults in Cache_part. According to TS-74 for the 'Cache_part' regression test to pass a cache storage has to be allocated 128MB. I checked there is a cache.db file that is 144M. Does this really mean a cache storage

Traffic Server security model

2010-05-20 Thread Alan M. Carroll
I am working on finishing up the capabilities patch for TS-338. My problem is what is the desired security model. With seteuid() you have to enable / disable (change EUID) locally around the operation. With capabilities you can do that, or you can enable the privilege during process

Re: 2.1.0 Segfaulting in regression tests

2010-05-20 Thread Alan M. Carroll
Sure. It will be a day or two, I want to get the capabilities put to bed first. Thursday, May 20, 2010, 11:23:00 AM, you wrote: Hi Alan, Can you file this as a Jira Ticket and provide as much as possible the necessary repro environment, code line, etc. thanks, -George

Re: Prepare for 2.1.1 release?

2010-05-27 Thread Alan M. Carroll
Thursday, May 27, 2010, 11:25:39 AM, you wrote: Hi all, Thoughts? I alread moved all remaining 2.1.0 bugs over to 2.1.1, since v2.1.0 was released on 5/17. I would like to get TS-338 put in 2.1.1 as there is already a patch generated for it.

Patch sumitted for TS-320

2010-06-02 Thread Alan M. Carroll
I uploaded the patch for TS-320. It passes the regression tests as well as before the patch and seems to work in my limited direct testing. I think it's ready for some one else to take a look at.

Re: Deprecated InkAPI / ts.h functions?

2010-06-15 Thread Alan M. Carroll
I vote for dropping in 2.2. Tuesday, June 15, 2010, 7:05:37 PM, you wrote: Should we still keep these for the v2.2 release, and nuke them for v3.0? Or nuke'em now and avoid having to deal with people using deprecated APIs in the plugins (they are all documented as deprecated already)?

proxy/Main.cc:initial_process_manager vs. proxy/Initialize.cc:initialize_process_manager

2010-06-19 Thread Alan M. Carroll
What is the distinction between these two functions?

Re: case HttpTransact::ORIGIN_SERVER_OPEN

2010-06-21 Thread Alan M. Carroll
Monday, June 21, 2010, 9:09:44 PM, you wrote: Hi mentors, I am analyzing this source code and reached case HttpTransact::ORIGIN_SERVER_OPEN: of set_next_state() in HttpSM.cc.Here I lost my way,does anyone help me out? If the congestion checks pass, it go to do_http_server_open().

Re: case HttpTransact::ORIGIN_SERVER_OPEN

2010-06-22 Thread Alan M. Carroll
Yes, it's very complicated. I don't see any tunnel in that case. Did you have a question? Monday, June 21, 2010, 9:23:52 PM, you wrote: Hello Alan , Thanks. do_http_server_open() is very complicated.Maybe I met many obstables before,here i felt tired. case HSM_DONE: in the

Re: Basic: How to Make TS work as a Proxy?

2010-06-23 Thread Alan M. Carroll
Wednesday, June 23, 2010, 5:16:35 PM, you wrote: But I am unable to make TS's proxy working for me. Could someone kindly tell me what the mi\inimum configurations I should do to make it work? You probably need to turn off reverse proxy, which is the default. Look at

Re: Basic: How to Make TS work as a Proxy?

2010-06-23 Thread Alan M. Carroll
Wednesday, June 23, 2010, 6:19:28 PM, you wrote: I didn't to anything of Transparent Proxy to TS. I meant to say I was able to configure the same Linux box to make other Proxy Cache servers (Apache and Squid) work for me. I am using iptables(NAT) to intercept traffics to port 80 and forward

Re: Basic: How to Make TS work as a Proxy?

2010-06-23 Thread Alan M. Carroll
Wednesday, June 23, 2010, 7:03:06 PM, you wrote: Do you know what it takes to restore or add the transparent proxy code if I want to do it myself? Not yet, but I am working on it. https://issues.apache.org/jira/browse/TS-291

Re: linker problem defined in discarded section

2010-07-09 Thread Alan M. Carroll
It looks like it might be related to this gcc bug which is marked resolved/fixed. http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16625 which has a duplicate http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16849 that was reported against gcc 4.0.0. I can't find any more recent reference though.

TS-291 alpha patch available for testing

2010-07-19 Thread Alan M. Carroll
A patch for TS-291 (transparent connections) is available on the ts-291 branch (svn.apache.org/repos/asf/trafficserver/traffic/branches/ts-291). This was synchronized with trunk this morning. Documentation is available at http://people.apache.org/~amc/tiphares/home.html. This is a preliminary

Re: Use of STL in ATS

2010-07-26 Thread Alan M. Carroll
I understand the issue with allocation and critical path. Fortunately my current intended use is in an optional, non-critical path case. Are there any concerns about exception safety? Should I take care to wrap any potentially allocating calls in try/catch to handle out of memory conditions?

Re: IPv6

2010-09-12 Thread Alan M. Carroll
A related question is compiler compatibility. How concerned are we with code that compiles on back version of gcc or on completely different compilers?

Complaints about configuration variables in 2.1.3

2010-09-23 Thread Alan M. Carroll
These are reports from RecGetRecord_Xmalloc. Not registered false means the register member was not set. 1:1 means value was int, and client requested int. Not in hash table means the hash table lookup failed (presumably because it wasn't in records.config). I don't guarantee that this is a

Using typeof in ATS code

2010-09-23 Thread Alan M. Carroll
I would like to use the typeof operator. This is supported in all versions of gcc 4.X (actually back to gcc 2.X). It is supported in SunCC 12 EA and beyond. What does ATS support for Solaris compilers? Thanks.

Re: Build problems in building ATS on CentOS 5.2

2010-10-12 Thread Alan M. Carroll
We have been using VisualWGet (Win32 only) to drive traffic through ATS in forward proxy mode. I suppose it could be used to test reverse proxy as well. It has proxy support so it can drive explicit and transparent forward proxy. There is also the -R 1 flag which runs some regression tests.

Re: Bypassing non-HTTP connections

2010-11-03 Thread Alan M. Carroll
be investigating in this regard. Tuesday, November 2, 2010, 7:36:38 PM, you wrote: That is what CONNECT does. Do mean transparently? Maybe fallback on request parse error to bit proxy. On Nov 2, 2010 12:17 PM, Alan M. Carroll a...@network-geographics.com wrote: One issue that has come up for us

Re: [VOTE] Next stable release version number

2010-11-04 Thread Alan M. Carroll
Thursday, November 4, 2010, 11:23:58 AM, you wrote: On 10/29/2010 08:42 AM, Leif Hedstrom wrote: [X] Next stable release should be v3.0. -- Leif P.s lets break this API once and for all for v3.0 ;) Yeah, that's why I would prefer 2.2 for the next stable release. We're not going to

Re: [VOTE] Bylaws proposal

2010-11-08 Thread Alan M. Carroll
I agree with John. Monday, November 8, 2010, 3:27:55 PM, you wrote: I have a couple concerns. Primarily with Consensus definition. I think we need to say that if you don't respond within a particular time (1 week) then you obtain. I wouldn't want to have folks who have vanished hold up

Re: Transaction and Session private data for plugins

2010-11-18 Thread Alan M. Carroll
Looks good to me. Wednesday, November 17, 2010, 9:26:51 PM, you wrote: Hi all, There are currently two APIs for setting / getting private data for a transaction, that can be shared across different plugins (for example). I'm proposing some changes and additions to these APIs (see

Documentation and text processing

2010-11-19 Thread Alan M. Carroll
In the dev meeting there was an agreement that we would use Doxygen for reference and some other text system for more general documents. A concern was the ability to link from the general documentation to the reference (e.g., if an API call is discussed, that should have a link directly to the

Re: Adding new general libraries.

2010-11-30 Thread Alan M. Carroll
Zwoop pointed me to this page[1] in the Wiki about reorganization. It seems fine to me, which would change my proposal to adding a top level lib and then putting TsConfig in that directory. [1] https://cwiki.apache.org/confluence/display/TS/ReorganizeDirectoryStructure Tuesday, November 30,

Re: SDK and string copies

2010-12-02 Thread Alan M. Carroll
+1 Thursday, December 2, 2010, 6:47:11 PM, you wrote: I think it'd make much more sense to consistently make all APIs that deals with strings like this not be NULL terminated. This would require no API changes, just that the semantics would change. And I think the requirement to 'release'

Re: [DISCUSS] Change SDK return values?

2010-12-09 Thread Alan M. Carroll
#3, +1. While this is a pain in specific instances, overall it's a win for ease of use to have a very consistent set of signatures.

Re: [DISCUSS] Change SDK return values?

2010-12-09 Thread Alan M. Carroll
A point that came up in chat is the question of can't fail API calls, which are those that current take no arguments. Examples would be TSTrafficServerVersionGetMajor() or TSPluginDirGet(). Should we have an exception for API calls that absolutely cannot fail? I think I would support such an

Re: [DISCUSS] Change SDK return values?

2011-02-17 Thread Alan M. Carroll
+1. I think getting a consistent API is worth the short term pain. Thursday, February 17, 2011, 6:11:29 PM, you wrote: So, I've finished most of this work, and while reading code, and discussing on IRC, I think we'll need to make one more change. The issue is that a few APIs uses an int

Vector container unification

2011-02-25 Thread Alan M. Carroll
I would like to suggest removing DynArray and replacing it where appropriate with std::vector. This would IMHO have the advantages of using a standard container which, frankly, is likely superior in performance, with a better API, much better documentation, lower maintenance, and more familiar

Re: Vector container unification

2011-02-25 Thread Alan M. Carroll
Friday, February 25, 2011, 4:27:01 PM, you wrote: Personally I think stl::vector is a horribly designed mess. [...] It has no simple way of doing operations like finding a matching element or inserting after an element without using using iterators. std::vectorA::iterator spot =

Re: [VOTE] Release Apache Traffic Server v2.1.6

2011-03-01 Thread Alan M. Carroll
+1 Tested on FC 13 x64, forward transparent.

Enhancements to the documentation CMS

2011-03-07 Thread Alan M. Carroll
I made a few tweaks to the documentation generator. * A navigation bar is now available. This is auto generated if there id a file named order.txt in the directory that contains the pages. This file is simply a white space separated list of the stems for the pages, in the order in which they

Re: Enhancements to the documentation CMS

2011-03-07 Thread Alan M. Carroll
Due to the it's never enough effect I have extend the use specified nav bar links syntax. If you add a link that has a name of Top, Back, or Next (the auto-generated names) and a URL of '*', then the '*' will be changed to the corresponding generated value. If the generated value doesn't exist

Re: Traffic Server v2.1.8?

2011-04-20 Thread Alan M. Carroll
I have tried several times to duplicate the missing host name problem and cannot. We run ATS as a forward transparent proxy in production and in test and our logs look fine. 1303281687.404 901 172.28.56.102 TCP_MISS/206 821811 GET

sockaddr_storage

2011-04-22 Thread Alan M. Carroll
I have started work on converting ATS to use sockaddr_storage internally as much as possible. Looking at some early progress, I think I will be taking the approach of storing, passing, and returning sockaddr_storage basically everywhere. I will provide a number of inline functions to make

Re: sockaddr_storage

2011-04-22 Thread Alan M. Carroll
You mean ink_res_sockaddr_union in ink_resolver.h? I just deleted that and changed all uses to sockaddr_storage. I think it's better to use a standard type rather than introducing yet another ATS local type. The accessibility it provided via union will be done by the ip_cast functions. My

Re: svn commit: r1096571 - in /trafficserver/traffic/trunk: lib/ts/Makefile.am lib/ts/ink_cap.cc lib/ts/ink_cap.h proxy/Main.cc proxy/http/HttpSM.cc proxy/http/HttpTransact.cc

2011-04-26 Thread Alan M. Carroll
No, CAP_NET_ADMIN is required to enable transparency on a socket. I think multicasting worked before this was added. Tuesday, April 26, 2011, 6:15:49 PM, you wrote: + // Capabilities we need. + cap_value_t cap_list[] = { CAP_NET_ADMIN, CAP_NET_BIND_SERVICE }; I suppose we need

Re: svn commit: r1096571 - in /trafficserver/traffic/trunk: lib/ts/Makefile.am lib/ts/ink_cap.cc lib/ts/ink_cap.h proxy/Main.cc proxy/http/HttpSM.cc proxy/http/HttpTransact.cc

2011-04-26 Thread Alan M. Carroll
Tuesday, April 26, 2011, 6:14:14 PM, you wrote: Now, while these things are named POSIX capabilities, they are they are about as far away from standardization as can be. We should use this chance to generalize the existing interface so that we can cater all (three, six, seventeen -- however

Re: svn commit: r1096571 - in /trafficserver/traffic/trunk: lib/ts/Makefile.am lib/ts/ink_cap.cc lib/ts/ink_cap.h proxy/Main.cc proxy/http/HttpSM.cc proxy/http/HttpTransact.cc

2011-04-27 Thread Alan M. Carroll
I think it's a side effect. I wasn't sure if any one except my client was seeing the problem. I have a potential fix. The problem is related to the particular OS. On FC it works. On (for instance) Debian this problem arises. The difference is that on the latter the server seems to start with a

Re: Should we make Posix Capabilities required ?

2011-07-16 Thread Alan M. Carroll
According to what I found[1] this project is current inoperative and it's unclear when (if ever) it will be available on FreeBSD. Personally, I think the better option is for me to fix the libcap related problems so it's not required. It's a bit ugly but not all that difficult. Now that I have

Re: Should we make Posix Capabilities required ?

2011-07-20 Thread Alan M. Carroll
Saturday, July 16, 2011, 11:50:49 PM, you wrote: Unices do not support thread-based UIDs or privileges. (IIRC Windows does, but again, that is of no concern right now). No. POSIX capabilities are thread local. That's why it doesn't play well with uid changing. Maybe it's not supposed to

Re: Obtaining the client's host name

2011-08-08 Thread Alan M. Carroll
There is no API to get the client hostname. I recommend doing the gethostbyaddr_r directly as any API would simply be a wrapper around that. Monday, August 8, 2011, 4:26:40 AM, you wrote: Hi, Is it possible using the API to obtain the client's host name - i.e. a reverse DNS lookup? If not I

Processing MIME fields in an HTTP header.

2011-08-11 Thread Alan M. Carroll
I am looking at TS-466 (Multiline headers are not preserved) and as far as I can tell this is by design. The field parser in MIME.cc goes to some effort to detect this situation and then strip out the intervening whitespace, including the CR/LF. So something like Accept: text/html,

Re: TSNetConnect now takes host byte ordered port number

2011-08-23 Thread Alan M. Carroll
Because of the change over to IPv6 in the internals, ports are stored differently. Let me take a look ... Yeah, that's a bug introduced by the change. A quick fix is to change InkAPI.cc:6196 from return (TSAction)netProcessor.connect_re(i, ip, port); to return

Re: TSNetConnect now takes host byte ordered port number

2011-08-23 Thread Alan M. Carroll
I think it should be OK. It uses ink_inet_port_cast which extracts the port without changing byte order. TSNetConnect used ink_inet_get_port which flips the byte order. I think I will add it to the patch to not bother to extract the address and port (that was needed before the changes in

Getting traffic_server to dump core

2011-08-26 Thread Alan M. Carroll
I want to have traffic_server leave behind a core file when it crashes but can't seem to make it happen. I have * Used ulimit -c * Set the core limit high in /etc/security/limits.conf * Set proxy.config.core_limit to -1 * Verified that setrlimit is being called with a very large limit. * Set the

Re: Getting traffic_server to dump core

2011-08-27 Thread Alan M. Carroll
Saturday, August 27, 2011, 10:01:19 AM, you wrote: There's also the setuid(2)/seteuid(2)/setguid(2)/seteguid(2) issue on Linux (the kernel does not dump core setXid programs). I saw that but thought it meant only setuid at the file system level. However, ATS uses prctl(PR_SET_DUMPABLE, 1, 0,

Re: Getting traffic_server to dump core

2011-08-27 Thread Alan M. Carroll
It's definitely a problem with calling setuid() and then not re-invoking PR_SET_DUMPABLE. I think it must have been broken for a long time as the version before using POSIX capabilities didn't call setuid until after invoking PR_SET_DUMPABLE. I put some extra debugging output in and verified

Re: problem for plugin example: server-transform.c

2011-09-12 Thread Alan M. Carroll
Actually, Chris, you should use htons since this is going from host to network order. However on all modern systems htons() and ntohs() are the same function. Some of us old timers remember systems where that wasn't the case but those have long since faded to memories. I think TSNetConnect

Re: problem for plugin example: server-transform.c

2011-09-12 Thread Alan M. Carroll
Monday, September 12, 2011, 10:28:17 AM, you wrote: The server port comes from a URL, e.g. http://10.44.10.1:80, and I just atoi the port. I have checked with a network trace that the correct port is being connected to. With previous versions of Traffic Server I never had to use ntohs and

TS-934

2011-09-13 Thread Alan M. Carroll
I am really hitting a wall on this issue. The problem occurs when a transaction is shut down due to some error. It is possible for the inbound (client, UA) side to be handled by thread 1 and the outbound (origin server) side by thread 2. In such a case the shutdown logic in thread 1 shuts down

Adding an IP type to logging

2011-10-14 Thread Alan M. Carroll
To fix various IPv6 related issues, I am adding an IP address type to the logging data structures (in parallel to sINT and dINT). Where should I put those struct definitions? Currently they're in LogField.h. I am open to alternate suggestions.

Re: ClientReq API

2011-10-21 Thread Alan M. Carroll
That's probably my fault. Please file a bug and assign it to me. Thanks. Friday, October 21, 2011, 10:26:37 AM, you wrote: On Wed, 12 Oct 2011 10:43:51 -0600 Leif Hedstrom zw...@apache.org wrote: The thing is that we only keep one copy of the client request, and it gets modified. For a

Re: TR 3.0.2 stable - second attempt

2011-11-21 Thread Alan M. Carroll
+1 for 3.0.2.

Re: SVN vs Git

2011-12-01 Thread Alan M. Carroll
I suppose I can get used to git (after all, I eventually moved on from RCS). In exchange, you guys can get used to templates :-). Thursday, December 1, 2011, 5:56:32 PM, you wrote: Perhaps some of our elders can let us know if we should back off here, and take the time to think and do

Re: Templates ... WAS: SVN vs GIT

2011-12-03 Thread Alan M. Carroll
I think they do it mainly just to get me. The problem with templates, as Igor touches on, is that they are a very sharp knife. In the hands of a skilled coder they can do wonderful things, but it's something that can easily get out of hand. Templates are Turing complete so you can create very

Re: Templates ... WAS: SVN vs GIT

2011-12-03 Thread Alan M. Carroll
We build our company product with MSVC and g++ and haven't had any serious template problems that were due to compiler issues (we have an issue where there is what *I* consider a bug in the template language specification for which MSVC has a workaround but that's not really a compiler

TS-857, TS-934, TS-1031

2011-12-06 Thread Alan M. Carroll
The problem with all of these is that locking for the VConnections is done poorly, if at all, and closing a VConnection and de-allocating are conflated. Changing that is hard, though. My current plan is related set of changes 1) Use a smart pointer (based on lib/ts/Ptr.h) instead of raw

Re: TS-857, TS-934, TS-1031

2011-12-09 Thread Alan M. Carroll
The core problem is that VC connection locking does not work. VCs are deallocated while still in use which leads to crashes. In fact, the general handling of VCs in NetHandler::mainNetEvent doesn't lock the VCs at all, so the cross thread access can't be safe. Moreover, because all the VC

Re: TS-857, TS-934, TS-1031

2011-12-12 Thread Alan M. Carroll
Friday, December 9, 2011, 5:17:56 PM, you wrote: NetHandler::mainNetEvent doesn't lock the VCs because it doesn't need to until it wants to access the internal data at which time it locks it. Therefore the internal data is protected by the NetVC mutex. However, the existance is NOT

Re: TS-857, TS-934, TS-1031

2011-12-12 Thread Alan M. Carroll
Oh, I think it was there, but *someone* of fell intent removed it. H. Unfortunately, the list of suspects is too long to put in this message. http://people.apache.org/~amc/images/TS-Lock-Classes.png Monday, December 12, 2011, 10:43:17 AM, you wrote: I have attached a diagram of this call

Re: TS-857, TS-934, TS-1031

2011-12-12 Thread Alan M. Carroll
Monday, December 12, 2011, 1:51:54 PM, you wrote: When I left Inktomi the inactivity timer was managed directly i.e. INACTIVITY_TIMEOUT was set. It looks like someone checked in an InactivityCop. This is protected by the NetHandler mutex. It also takes out the NetVC mutex in case there is

Re: TS-857, TS-934, TS-1031

2011-12-13 Thread Alan M. Carroll
Tuesday, December 13, 2011, 1:00:11 PM, you wrote: Clear all pointers to a NetVC then call vc-do_io_close. Period. That does not work. Period. You can crash calling vc-do_io_close if another thread de-allocates it at the same time. I also don't see how you can clear all pointers when those

Re: TS-857, TS-934, TS-1031

2011-12-13 Thread Alan M. Carroll
Tuesday, December 13, 2011, 3:30:06 PM, you wrote: No other thread can call vc-do_io_close if they don't have the pointer to it. Turns out that at least other thread does have a pointer. It is up to the protocol engine to ensure that all pointers are clear. Still not clear on how the

Re: TS-857, TS-934, TS-1031

2011-12-13 Thread Alan M. Carroll
Tuesday, December 13, 2011, 7:00:42 PM, you wrote: No other thread can call vc-do_io_close if they don't have the pointer to it. Turns out that at least other thread does have a pointer. Then they should not. Great. Now explain it to the compiler. Let me know when you've done that, I'll

Re: TS-857, TS-934, TS-1031

2011-12-14 Thread Alan M. Carroll
I want to express my regrets for not behaving in a professional manner as well. Let's move forward. I'll need some time to consider John's proposal. I will note that I think we would do well for future participants to document clearly whatever locking structure emerges. I volunteer to do a

Fast Accept

2012-01-22 Thread Alan M. Carroll
I got stuck for a week on a regression test failure while trying to fix TS-1077. I eventually tracked it down to NetVCOptions::frequent_accept defaulting to true instead of false. Checking the source control logs it turns out that I had it as false when I first checked in the main patch, but

Re: Fast Accept

2012-01-22 Thread Alan M. Carroll
Sunday, January 22, 2012, 5:36:23 PM, you wrote: As for accept threads, my reading of the code is that if frequent_accept is false, then every normal IO thread also does accepts (via NetAccept::init_accept_per_thread). No, that's wrong. It calls NetAccept::init_accept and starts a single

Re: Fast Accept

2012-01-22 Thread Alan M. Carroll
I could be wrong. It happened once before, so why not twice? Sunday, January 22, 2012, 6:10:04 PM, you wrote: Hmmm, I'll have to go read the code again, after the 49ers game. That is not how I remember it at all.

Re: Fast Accept

2012-01-23 Thread Alan M. Carroll
Sunday, January 22, 2012, 10:20:58 PM, you wrote: if (frequent_accept) { // true I read that as checking to see if frequent_accept is true. What's semi confusing is that the declaration of accept_internal() has the frequent_accept parameter defaulted to false, yet, as far as I can

Re: Fast Accept

2012-01-23 Thread Alan M. Carroll
Monday, January 23, 2012, 12:19:00 PM, you wrote: The key question is why is the test failing, and AFAICT it looks like NetAccept::init_accept() isn't doing: PollDescriptor *pd = get_PollDescriptor(t); if (a-ep.start(pd, a, EVENTIO_READ) 0) link in init_accept_per_thread(). So

Re: [PATCH] fix to docs or site

2012-01-25 Thread Alan M. Carroll
We're just about to completely change that, see TS-1077. Wednesday, January 25, 2012, 7:54:30 AM, you wrote: Hi! I've searched for a way to set additional SSL-Ports and couldn't find it in the documentation. I find the S port attribute, so I add it to the corresponding section in the manual

Re: TS-1077 ready to commit?

2012-01-26 Thread Alan M. Carroll
Wednesday, January 25, 2012, 10:45:04 AM, you wrote: Is use of the deprecated options logged noisily? No, it's not logged at all. I have modified the records.config.default.in to not have the deprecated options at all. Did you consider allowing an optional address on the ipvX options? Yes,

Re: TS-1035: Ready to commit? Comments Please.

2012-01-26 Thread Alan M. Carroll
Without looking at the patch, you'll have a problem in that there is no longer a -A argument. The proxy port descriptors are passed to Server via the --httpport option. Check your patch against trunk. I'll have to check if you cleaned up the string length / offset calculation which is done

TS-995: IP support renaming

2012-01-28 Thread Alan M. Carroll
Part of the ongoing efforts is to remove the archaic ink_ prefixes. I would like to do this for the IP support, essentially ink_inet.h immediately after the 3.1.2 release. I propose that we use the prefixes ts_ip_, ts_ip4_, ts_ip6_ for functions, except for property checks which for readability

Re: Removing a few branches from git

2012-01-28 Thread Alan M. Carroll
ssc is not a typo, it's sockaddr_storage conversion. It's obsolete and should be removed. ts-291 is obsolete and should be removed. P.S. Are those branches already remote? Saturday, January 28, 2012, 6:09:29 PM, you wrote: Hi all, please take a look at the branches we have (git branch -a).

Re: default number of SSL threads

2012-02-09 Thread Alan M. Carroll
I may have broken that in my last patch. I know I had to make changes there. I recommend tweaking the code to follow the comment, and then implementing dynamic SSLNetProcessor. Wednesday, February 8, 2012, 11:02:46 PM, you wrote: Hi all, In getNumSSLThreads(), there is the following

Re: IPv6 ready to test

2012-02-21 Thread Alan M. Carroll
Tuesday, February 21, 2012, 5:36:28 PM, you wrote: On 2/21/12 2:11 PM, Alan M. Carroll wrote: In my testing, ATS 3.1.2 supports IPv6 traffic. If anyone else could test that and provide feedback, that would be useful. I don't have anything setup to test IPv6, but let me just say

Re: IPv6 ready to test

2012-02-22 Thread Alan M. Carroll
Wednesday, February 22, 2012, 9:47:58 AM, you wrote: On Feb 22, 2012, at 12:58 AM, Issac Goldstand mar...@beamartyr.net wrote: When you say supports IPv6, we mean IPv6 (ATS) -- IPv6 (App) or IPv4 (ATS) -- IPv6 (App) or both? (We've established that IPv6 (ATS) -- IPv4 (App) is already

Re: Git procedures

2012-02-22 Thread Alan M. Carroll
This should not be necessary. You ought to be able to rebase your branch into the form that you want before pushing it. Have a look at git rebase -i, it's really handy +1 on git rebase -i, it's really nice if you want to modify the commit list, and merge changes, modify messages etc.

TS-857 and finer grained locking

2012-03-13 Thread Alan M. Carroll
I have a patch submitted for TS-857 which attempts to make a start on finer grained locking. The essence of it is 1) Provide more powerful and standards compliant reference counted smart pointers - lib/ts/IntrusivePtr.h 2) Provide reference counted lists that are compatible with both (1) and

Re: TS-857 and finer grained locking

2012-03-14 Thread Alan M. Carroll
Tuesday, March 13, 2012, 11:46:15 PM, you wrote: Here are my comments for what they are worth. First, let me detail the issue this is trying to address. The way that most clients work with VCs is via and Processor::open_ which calls back with and OPEN event at which point they set VIOs

Re: TS-857 and finer grained locking

2012-03-15 Thread Alan M. Carroll
Thursday, March 15, 2012, 10:43:34 AM, you wrote: This can only occur when there is some connection sharing or if someone has introduced a thread switch in some other processor which triggers the OS connection. AFAIK the OS connection is initiated on the thread which has the client

Re: TS-857 and finer grained locking

2012-03-15 Thread Alan M. Carroll
Thursday, March 15, 2012, 9:26:33 AM, you wrote: [The lock] is only de-allocated after the close() by which time all references to that NetVC should have been dropped by the client. Yes, I understand. What I do not understand is what actual, specific, implementation mechanism I can use to

Re: TS-857 and finer grained locking

2012-03-24 Thread Alan M. Carroll
Saturday, March 17, 2012, 10:33:18 PM, you wrote: On Thu, Mar 15, 2012 at 11:01 AM, Alan M. Carroll a...@network-geographics.comwrote: Thursday, March 15, 2012, 9:26:33 AM, you wrote: [The lock] is only de-allocated after the close() by which time all references to that NetVC should have

Re: Cleaning up ink_gethostbyname_r and ink_gethostbyaddr_r

2012-03-26 Thread Alan M. Carroll
Mostly reasonable, just a few things to do better: 1) Do not use the ink_ prefix, we're moving to ats_. 2) It's not clear to me we need to wrap getaddrinfo at all unless you can simplify the api (e.g., ats_getbestaddrinfo). 3) Looking at the call sites which still use ink_gethostbyname, I

Re: TS-857 and finer grained locking

2012-03-26 Thread Alan M. Carroll
Looks good. I apologize to weijin and ming_zym for being too distracted to look closely at those even though I meant to do so. Not being able to replicate the problem even on old code bases made it problematic as well. Sunday, March 25, 2012, 5:56:01 PM, you wrote: I found the problem and it

Re: Cleaning up ink_gethostbyname_r and ink_gethostbyaddr_r

2012-03-26 Thread Alan M. Carroll
I filed TS-1166, TS-1167, TS-1168, to track some of these places. TS-990 tracks the Cluster issue, and TS-1017 tracks it in logging. I am working on the logging. I will try to get through these others although others are welcome to step up :-).

Re: Cleaning up ink_gethostbyname_r and ink_gethostbyaddr_r

2012-03-27 Thread Alan M. Carroll
I would presume that applies to the functions documented on the page, not getaddrinfo which is mentioned only in passing. This is reenforced by getaddrinfo having its own documentation page. Just for amusement value, here's a couple of bug reports of gethostbyaddr_r() crashing under load -

Re: Cleaning up ink_gethostbyname_r and ink_gethostbyaddr_r

2012-03-31 Thread Alan M. Carroll
I have fixed TS-1166, TS-1167, TS-1168, TS-1017 all of which eliminate uses of gethostbyname. Looks to me like only clustering, web management, CoreAPIShared.cc in mgmt, and some test code are still problematic. Except for clustering those look like using ats_getbestaddrinfo() would work (since

Re: Cleaning up ink_gethostbyname_r and ink_gethostbyaddr_r

2012-04-01 Thread Alan M. Carroll
ats_getbestaddrinfo is already implemented. It's in lib/ts/ink_inet.cc. It's a bit hard to use, I need to improve it :-) but you can see examples if you look at the commits for those issues. The issue is that you can get back both an IPv4 and an IPv6 address. I've filed TS-1070 to remind me to

Re: FLVseeking plugin problem

2012-05-30 Thread Alan M. Carroll
Wednesday, May 30, 2012, 10:44:50 AM, you wrote: * It sometimes contact my origin server and send back a 206 Partial Content return code. In this case, the video will not work. It occurs when i'm already downloading the same files. (Looks to be a race condition). As far as I know if

  1   2   3   >