You are viewing a plain text version of this content. The canonical link for it is here.
Posted to sandesha-dev@ws.apache.org by "Damitha Kumarage (JIRA)" <ji...@apache.org> on 2007/03/13 05:37:09 UTC

[jira] Created: (SANDESHA2C-30) Bottleneck due to sequential transactions

Bottleneck due to sequential transactions
-----------------------------------------

                 Key: SANDESHA2C-30
                 URL: https://issues.apache.org/jira/browse/SANDESHA2C-30
             Project: Sandesha2/C
          Issue Type: Bug
            Reporter: Damitha Kumarage


When a new transaction is requested from sandesha2_storage_mgr it waits for 1 for each transaction which is currently active.
Here is culprit code

    for (index = axis2_hash_first(storage_mgr_impl->transactions , env); index;
        index = axis2_hash_next(env, index))
    {
        void *v = NULL;
        sandesha2_transaction_t *temp = NULL;
        axis2_hash_this(index, NULL, NULL, &v);
        temp = (sandesha2_transaction_t *) v;
        while(sandesha2_permanent_transaction_is_active(temp, env))
        {
            AXIS2_SLEEP(1);
        }
    }

I changed this code to following
    thread_id_key = AXIS2_MALLOC(env->allocator, sizeof(char)*128);
    sprintf(thread_id_key, "%lu", thread_id);
    transaction = (sandesha2_transaction_t *) axis2_hash_get(
        storage_mgr_impl->transactions, thread_id_key, AXIS2_HASH_KEY_STRING);
    while(transaction && sandesha2_permanent_transaction_is_active(transaction, env))
    {
        AXIS2_SLEEP(1);
    }

in this case it waits only if the transaction is for the same thread id which is acceptable

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: sandesha-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: sandesha-dev-help@ws.apache.org


[jira] Closed: (SANDESHA2C-30) Bottleneck due to sequential transactions

Posted by "Damitha Kumarage (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/SANDESHA2C-30?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Damitha Kumarage closed SANDESHA2C-30.
--------------------------------------


> Bottleneck due to sequential transactions
> -----------------------------------------
>
>                 Key: SANDESHA2C-30
>                 URL: https://issues.apache.org/jira/browse/SANDESHA2C-30
>             Project: Sandesha2/C
>          Issue Type: Bug
>            Reporter: Damitha Kumarage
>
> When a new transaction is requested from sandesha2_storage_mgr it waits for 1 for each transaction which is currently active.
> Here is culprit code
>     for (index = axis2_hash_first(storage_mgr_impl->transactions , env); index;
>         index = axis2_hash_next(env, index))
>     {
>         void *v = NULL;
>         sandesha2_transaction_t *temp = NULL;
>         axis2_hash_this(index, NULL, NULL, &v);
>         temp = (sandesha2_transaction_t *) v;
>         while(sandesha2_permanent_transaction_is_active(temp, env))
>         {
>             AXIS2_SLEEP(1);
>         }
>     }
> I changed this code to following
>     thread_id_key = AXIS2_MALLOC(env->allocator, sizeof(char)*128);
>     sprintf(thread_id_key, "%lu", thread_id);
>     transaction = (sandesha2_transaction_t *) axis2_hash_get(
>         storage_mgr_impl->transactions, thread_id_key, AXIS2_HASH_KEY_STRING);
>     while(transaction && sandesha2_permanent_transaction_is_active(transaction, env))
>     {
>         AXIS2_SLEEP(1);
>     }
> in this case it waits only if the transaction is for the same thread id which is acceptable

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: sandesha-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: sandesha-dev-help@ws.apache.org


[jira] Resolved: (SANDESHA2C-30) Bottleneck due to sequential transactions

Posted by "Damitha Kumarage (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/SANDESHA2C-30?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Damitha Kumarage resolved SANDESHA2C-30.
----------------------------------------

    Resolution: Fixed

Transaction support from sandesha2 is removed as this is too complext to handle.

> Bottleneck due to sequential transactions
> -----------------------------------------
>
>                 Key: SANDESHA2C-30
>                 URL: https://issues.apache.org/jira/browse/SANDESHA2C-30
>             Project: Sandesha2/C
>          Issue Type: Bug
>            Reporter: Damitha Kumarage
>
> When a new transaction is requested from sandesha2_storage_mgr it waits for 1 for each transaction which is currently active.
> Here is culprit code
>     for (index = axis2_hash_first(storage_mgr_impl->transactions , env); index;
>         index = axis2_hash_next(env, index))
>     {
>         void *v = NULL;
>         sandesha2_transaction_t *temp = NULL;
>         axis2_hash_this(index, NULL, NULL, &v);
>         temp = (sandesha2_transaction_t *) v;
>         while(sandesha2_permanent_transaction_is_active(temp, env))
>         {
>             AXIS2_SLEEP(1);
>         }
>     }
> I changed this code to following
>     thread_id_key = AXIS2_MALLOC(env->allocator, sizeof(char)*128);
>     sprintf(thread_id_key, "%lu", thread_id);
>     transaction = (sandesha2_transaction_t *) axis2_hash_get(
>         storage_mgr_impl->transactions, thread_id_key, AXIS2_HASH_KEY_STRING);
>     while(transaction && sandesha2_permanent_transaction_is_active(transaction, env))
>     {
>         AXIS2_SLEEP(1);
>     }
> in this case it waits only if the transaction is for the same thread id which is acceptable

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: sandesha-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: sandesha-dev-help@ws.apache.org