Hi, Zhenya, thanks for the answer

The real cases as this

CASE1
tx.start() — thread1
cache1.put|get  — thread1
log operation cache1.put

cache2.put|get  — thread1
log operation cache2.put
tx.commit — thread1

all good.

CASE2
tx.start() — thread1
cache1.put|get  — thread1
log operation cache1.put

cache2.put|get  — thread1
error when cache2.put
tx.rollback
exit

log operation cache2.put
tx.commit — thread1

and in case 2, it is necessary that a record of « log operation cache1.put» is 
remain

Нестрогаев Андрей

From: Zhenya Stanilovsky via user <[email protected]>
Sent: Wednesday, February 14, 2024 4:00 PM
To: [email protected]
Subject: Re: Ignite transactions

Hi, Andrey
tx.start() — thread1
cache1.put|get  — thread1
cache2.put|get  — thread1
tx.commit — thread1
log operation
i didn`t see the problem here



Thanks Pavel!



  1.  According to business logic, I must transactionally change the values in 
2 caches; in the course of my actions, I must log all these actions in the 3rd 
cache (protocol of my actions). So, it doesn’t matter whether my changes in 
these first two caches end up being a success (commit) or an error (rollback), 
I want the protocol of my actions to be preserved anyway. Based on your 
answers, I can assume that I can use either queues or a separate thread for 
these purposes.



Нестрогаев Андрей



From: Pavel Tupitsyn <[email protected]</[email protected]>>
Sent: Wednesday, February 14, 2024 12:13 PM
To: [email protected]</[email protected]>
Subject: Re: Ignite transactions



1. Not sure I understand

2. Messaging is not transactional

3. No

4. No, transactions are tied to a specific thread



On Wed, Feb 14, 2024 at 11:01AM Нестрогаев Андрей Викторович 
<[email protected]<file://e.mail.ru/compose/%3fmailto=mailto%[email protected]>>
 wrote:

Hi All,



Maybe someone has already researched these questions:

1. How can you organize nested/autonomous transactions in ignite? For example, 
for the purpose of writing a protocol to another cache, so that the protocol is 
saved regardless of the result of the main transaction.

2. If you use Messaging in ignite within a transaction, does it take it into 
account, or is the message sent without taking into account the transaction?

3. Does a transaction started on the current node extend to the code sent to 
another node (IgniteRunnable, IgniteClosure)?

4. Does a transaction span another thread started from current?



Thanks for the help in advance.



Andrey

Настоящее  сообщение или любые приложения к нему могут содержать 
конфиденциальную информацию и другую информацию, защищаемую от раскрытия и 
принадлежащую АО «ФлексСофт». Ее разглашение или иное использование без 
согласования с АО «ФлексСофт» является нарушением законодательства Российской 
Федерации. Любое действие, направленное на копирование, передачу, 
распространение каким-либо образом и с помощью каких-либо средств как самого 
письма, так и информации, содержащейся в нем (в том числе в виде приложений), 
запрещено. Отправитель настоящего сообщения не несет ответственность за 
точность и полноту передачи информации, содержащейся в настоящем сообщении, а 
также за своевременность ее получения. Если Вы получили настоящее сообщение по 
ошибке, пожалуйста, сообщите об этом отправителю, а затем удалите его и любые 
копии с Вашего компьютера. Настоящее электронное сообщение и содержащаяся в нем 
информация, или любые  приложения к нему,  не является официальной позицией АО 
«ФлексСофт» и не влечет финансовые или иные обязательства АО «ФлексСофт»; не 
могут использоваться и не являются какого-либо рода офертой,  акцептом оферты, 
или предложением делать оферты, или совершать акцепт оферты, не является 
рекламой или профессиональным советом,  прогнозом любых событий,  если иное 
прямо не предусмотрено в настоящем сообщении или любых приложениях к нему. АО 
«ФлексСофт» не несет ответственность за любые прямые или косвенные убытки от 
использования получателем или иным лицом сведений настоящего сообщения и/или 
приложений к нему.
Информация, передаваемая по сети Интернет, без использования технических 
средств защиты, является не защищенной от противоправных действий третьих лиц и 
может содержать вредоносные программные средства. АО «ФлексСофт» не несет 
ответственности за данные действия.

Настоящее  сообщение или любые приложения к нему могут содержать 
конфиденциальную информацию и другую информацию, защищаемую от раскрытия и 
принадлежащую АО «ФлексСофт». Ее разглашение или иное использование без 
согласования с АО «ФлексСофт» является нарушением законодательства Российской 
Федерации. Любое действие, направленное на копирование, передачу, 
распространение каким-либо образом и с помощью каких-либо средств как самого 
письма, так и информации, содержащейся в нем (в том числе в виде приложений), 
запрещено. Отправитель настоящего сообщения не несет ответственность за 
точность и полноту передачи информации, содержащейся в настоящем сообщении, а 
также за своевременность ее получения. Если Вы получили настоящее сообщение по 
ошибке, пожалуйста, сообщите об этом отправителю, а затем удалите его и любые 
копии с Вашего компьютера. Настоящее электронное сообщение и содержащаяся в нем 
информация, или любые  приложения к нему,  не является официальной позицией АО 
«ФлексСофт» и не влечет финансовые или иные обязательства АО «ФлексСофт»; не 
могут использоваться и не являются какого-либо рода офертой,  акцептом оферты, 
или предложением делать оферты, или совершать акцепт оферты, не является 
рекламой или профессиональным советом,  прогнозом любых событий,  если иное 
прямо не предусмотрено в настоящем сообщении или любых приложениях к нему. АО 
«ФлексСофт» не несет ответственность за любые прямые или косвенные убытки от 
использования получателем или иным лицом сведений настоящего сообщения и/или 
приложений к нему.
Информация, передаваемая по сети Интернет, без использования технических 
средств защиты, является не защищенной от противоправных действий третьих лиц и 
может содержать вредоносные программные средства. АО «ФлексСофт» не несет 
ответственности за данные действия.





Настоящее  сообщение или любые приложения к нему могут содержать 
конфиденциальную информацию и другую информацию, защищаемую от раскрытия и 
принадлежащую АО «ФлексСофт». Ее разглашение или иное использование без 
согласования с АО «ФлексСофт» является нарушением законодательства Российской 
Федерации. Любое действие, направленное на копирование, передачу, 
распространение каким-либо образом и с помощью каких-либо средств как самого 
письма, так и информации, содержащейся в нем (в том числе в виде приложений), 
запрещено. Отправитель настоящего сообщения не несет ответственность за 
точность и полноту передачи информации, содержащейся в настоящем сообщении, а 
также за своевременность ее получения. Если Вы получили настоящее сообщение по 
ошибке, пожалуйста, сообщите об этом отправителю, а затем удалите его и любые 
копии с Вашего компьютера. Настоящее электронное сообщение и содержащаяся в нем 
информация, или любые  приложения к нему,  не является официальной позицией АО 
«ФлексСофт» и не влечет финансовые или иные обязательства АО «ФлексСофт»; не 
могут использоваться и не являются какого-либо рода офертой,  акцептом оферты, 
или предложением делать оферты, или совершать акцепт оферты, не является 
рекламой или профессиональным советом,  прогнозом любых событий,  если иное 
прямо не предусмотрено в настоящем сообщении или любых приложениях к нему. АО 
«ФлексСофт» не несет ответственность за любые прямые или косвенные убытки от 
использования получателем или иным лицом сведений настоящего сообщения и/или 
приложений к нему.
Информация, передаваемая по сети Интернет, без использования технических 
средств защиты, является не защищенной от противоправных действий третьих лиц и 
может содержать вредоносные программные средства. АО «ФлексСофт» не несет 
ответственности за данные действия.

Reply via email to