mturk       2004/12/13 01:10:31

  Modified:    jk/native/apache-2.0 mod_jk.c
  Log:
  Add more logging.
  
  Revision  Changes    Path
  1.109     +59 -30    jakarta-tomcat-connectors/jk/native/apache-2.0/mod_jk.c
  
  Index: mod_jk.c
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native/apache-2.0/mod_jk.c,v
  retrieving revision 1.108
  retrieving revision 1.109
  diff -u -r1.108 -r1.109
  --- mod_jk.c  12 Dec 2004 15:14:59 -0000      1.108
  +++ mod_jk.c  13 Dec 2004 09:10:31 -0000      1.109
  @@ -1653,7 +1653,6 @@
        * if they are directory requests, in case there are no static files
        * visible to Apache and/or DirectoryIndex was not used. This is only
        * used when JkOptions has ForwardDirectories set. */
  -
       /* Not for me, try next handler */
       if (strcmp(r->handler, JK_HANDLER)
           && (dmt = strcmp(r->handler, DIR_MAGIC_TYPE)))
  @@ -1662,22 +1661,26 @@
       xconf =
           (jk_server_conf_t *) ap_get_module_config(r->server->module_config,
                                                     &jk_module);
  +    JK_TRACE_ENTER(xconf->log);
       if (apr_table_get(r->subprocess_env, "no-jk")) {
           jk_log(xconf->log, JK_LOG_DEBUG,
                  "Into handler no-jk env var detected for uri=%s, declined\n",
                  r->uri);
   
  +        JK_TRACE_EXIT(xconf->log);
           return DECLINED;
       }
   
       /* Was the option to forward directories to Tomcat set? */
  -    if (!dmt && !(xconf->options & JK_OPT_FWDDIRS))
  +    if (!dmt && !(xconf->options & JK_OPT_FWDDIRS)) {
  +        JK_TRACE_EXIT(xconf->log);
           return DECLINED;
  -
  +    }
       worker_name = apr_table_get(r->notes, JK_WORKER_ID);
   
       /* Set up r->read_chunked flags for chunked encoding, if present */
       if ((rc = ap_setup_client_block(r, REQUEST_CHUNKED_DECHUNK)) != 
APR_SUCCESS) {
  +        JK_TRACE_EXIT(xconf->log);
           return rc;
       }
   
  @@ -1708,15 +1711,19 @@
           }
       }
   
  -    jk_log(xconf->log, JK_LOG_DEBUG, "Into handler r->proxyreq=%d "
  -           "r->handler=%s r->notes=%d worker=%s\n",
  -           r->proxyreq, r->handler, r->notes, worker_name);
  +    jk_log(xconf->log, JK_LOG_DEBUG, "Into handler %s worker=%s"
  +           " r->proxyreq=%d\n",
  +           r->handler, worker_name, r->proxyreq);
   
       conf = (jk_server_conf_t *) 
ap_get_module_config(r->server->module_config,
                                                        &jk_module);
   
       /* If this is a proxy request, we'll notify an error */
       if (r->proxyreq) {
  +        jk_log(xconf->log, JK_LOG_INFO, "Proxy request for worker=%s"
  +              " is not allowed\n",
  +              worker_name);
  +        JK_TRACE_EXIT(xconf->log);
           return HTTP_INTERNAL_SERVER_ERROR;
       }
   
  @@ -1739,6 +1746,10 @@
   
           /* If the remote client has aborted, just ignore the request */
           if (r->connection->aborted) {
  +            jk_log(xconf->log, JK_LOG_INFO, "Client connection aborted for"
  +                   " worker=%s\n",
  +                   worker_name);
  +            JK_TRACE_EXIT(xconf->log);
               return OK;
           }
   
  @@ -1775,24 +1786,9 @@
                      how to deal with load balancing - but it's usefull for JNI
                    */
   
  -/* Disable "re-use" for now since the following code is currently platform 
specific */
  -/* #ifdef REUSE_WORKER
  -        apr_pool_t *rpool=r->pool;
  -        apr_pool_t *parent_pool= apr_pool_get_parent( rpool );
  -        apr_pool_t *tpool= apr_pool_get_parent( parent_pool );
  -        
  -        apr_pool_userdata_get( (void **)&end, "jk_thread_endpoint", tpool );
  -        if(end==NULL ) {
  -            worker->get_endpoint(worker, &end, xconf->log);
  -            apr_pool_userdata_set( end , "jk_thread_endpoint", 
  -                                   &jk_cleanup_endpoint,  tpool );
  -        }
  -#else */
                   /* worker->get_endpoint might fail if we are out of memory 
so check */
                   /* and handle it */
  -                if (worker->get_endpoint(worker, &end, xconf->log))
  -/* #endif */
  -                {
  +                if (worker->get_endpoint(worker, &end, xconf->log)) {
                       int is_recoverable_error = JK_FALSE;
                       rc = end->service(end, &s, xconf->log,
                                         &is_recoverable_error);
  @@ -1814,15 +1810,22 @@
                               }
                           }
                       }
  -
  -/* #ifndef REUSE_WORKER */
                       end->done(&end, xconf->log);
  -/* #endif */
                   }
  -                else            /* this means we couldn't get an endpoint */
  -                    rc = 0;     /* just to make sure that we know we've 
failed */
  +                else {            /* this means we couldn't get an endpoint 
*/
  +                    jk_log(xconf->log, JK_LOG_ERROR, "Could not get endpoint"
  +                           " for worker=%s\n",
  +                           worker_name);
  +                    rc = 0;       /* just to make sure that we know we've 
failed */
  +                }
  +            }
  +            else {
  +                jk_log(xconf->log, JK_LOG_ERROR, "Could not init service"
  +                       " for worker=%s\n",
  +                       worker_name);
  +                JK_TRACE_EXIT(xconf->log);
  +                return HTTP_INTERNAL_SERVER_ERROR;                
               }
  -
   #ifndef NO_GETTIMEOFDAY
               if (conf->format != NULL) {
                   char *duration = NULL;
  @@ -1846,24 +1849,44 @@
                   /* If tomcat returned no body and the status is not OK,
                      let apache handle the error code */
                   if (!r->sent_bodyct && r->status >= HTTP_BAD_REQUEST) {
  +                    jk_log(xconf->log, JK_LOG_INFO, "No body with status=%d"
  +                           " for worker=%s\n",
  +                           r->status, worker_name);
  +                    JK_TRACE_EXIT(xconf->log);
                       return r->status;
                   }
  +                jk_log(xconf->log, JK_LOG_INFO, "Service returned error=%d"
  +                       " with status=%d for worker=%s\n",
  +                       rc, r->status, worker_name);
  +                JK_TRACE_EXIT(xconf->log);
                   return OK;      /* NOT r->status, even if it has changed. */
               }
               else if (rc == JK_CLIENT_ERROR) {
                   r->connection->aborted = 1;
  +                jk_log(xconf->log, JK_LOG_INFO, "Aborting connection"
  +                       " for worker=%s\n",
  +                       worker_name);
  +                JK_TRACE_EXIT(xconf->log);
                   return OK;
               }
               else {
  +                jk_log(xconf->log, JK_LOG_INFO, "Service error=%d"
  +                       " for worker=%s\n",
  +                       rc, worker_name);
  +                JK_TRACE_EXIT(xconf->log);
                   return HTTP_INTERNAL_SERVER_ERROR;
               }
           }
           else {
  +            jk_log(xconf->log, JK_LOG_INFO, "Could not find a worker"
  +                   " for worker name=%s\n",
  +                   worker_name);
  +            JK_TRACE_EXIT(xconf->log);
               return HTTP_INTERNAL_SERVER_ERROR;
           }
  -
       }
   
  +    JK_TRACE_EXIT(xconf->log);
       return DECLINED;
   }
   
  @@ -2159,6 +2182,12 @@
    */
   static void jk_child_init(apr_pool_t * pconf, server_rec * s)
   {
  +    jk_server_conf_t *conf;
  +    conf = ap_get_module_config(s->module_config, &jk_module);
  +    JK_TRACE_ENTER(conf->log);
  +
  +    jk_log(conf->log, JK_LOG_DEBUG, "Initialized %s\n", JK_EXPOSED_VERSION);
  +    JK_TRACE_EXIT(conf->log);
   }
   
   /** Initialize jk, using worker.properties. 
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to