Re: Review Request 68709: HIVE-20547 HS2: support Tez sessions started by someone else (part 1)

2018-09-13 Thread j . prasanth . j

---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/68709/#review208608
---


Ship it!




Ship It!

- Prasanth_J


On Sept. 13, 2018, 8:11 p.m., Sergey Shelukhin wrote:
> 
> ---
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/68709/
> ---
> 
> (Updated Sept. 13, 2018, 8:11 p.m.)
> 
> 
> Review request for hive and Prasanth_J.
> 
> 
> Repository: hive-git
> 
> 
> Description
> ---
> 
> see jira
> 
> 
> Diffs
> -
> 
>   common/src/java/org/apache/hadoop/hive/conf/HiveConf.java aa58d7445c 
>   itests/util/src/main/java/org/apache/hadoop/hive/ql/QTestUtil.java 
> bfa3d5d7d2 
>   ql/pom.xml d73deba440 
>   ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java 79cb54e552 
>   
> ql/src/java/org/apache/hadoop/hive/ql/exec/tez/AbstractTriggerValidator.java 
> PRE-CREATION 
>   
> ql/src/java/org/apache/hadoop/hive/ql/exec/tez/KillTriggerActionHandler.java 
> f357775c86 
>   ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezExternalSessionState.java 
> PRE-CREATION 
>   
> ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezExternalSessionsRegistryClient.java
>  PRE-CREATION 
>   ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezSession.java PRE-CREATION 
>   ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezSessionPool.java 
> 89954cba67 
>   ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezSessionPoolManager.java 
> 2633390861 
>   ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezSessionPoolSession.java 
> d3748edb86 
>   ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezSessionState.java 
> 08e65a4a6d 
>   ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezTask.java f2ed07add5 
>   
> ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TriggerValidatorRunnable.java 
> 670184b0ac 
>   ql/src/java/org/apache/hadoop/hive/ql/exec/tez/WmTezSession.java fa2b02e591 
>   ql/src/java/org/apache/hadoop/hive/ql/exec/tez/WorkloadManager.java 
> 5326e3590f 
>   
> ql/src/java/org/apache/hadoop/hive/ql/exec/tez/WorkloadManagerFederation.java 
> 4b5022a101 
>   ql/src/java/org/apache/hadoop/hive/ql/session/KillQuery.java 01dc7e2cd7 
>   ql/src/java/org/apache/hadoop/hive/ql/session/NullKillQuery.java eac2936719 
>   ql/src/java/org/apache/hadoop/hive/ql/session/SessionState.java 71e130b608 
>   ql/src/java/org/apache/hadoop/hive/ql/wm/SessionTriggerProvider.java 
> 16106f481b 
>   ql/src/test/org/apache/hadoop/hive/ql/exec/tez/SampleTezSessionState.java 
> f5ab981f26 
>   ql/src/test/org/apache/hadoop/hive/ql/exec/tez/TestTezSessionPool.java 
> d5b683f788 
>   ql/src/test/org/apache/hadoop/hive/ql/exec/tez/TestTezTask.java b67aec371d 
>   ql/src/test/org/apache/hadoop/hive/ql/exec/tez/TestWorkloadManager.java 
> 4659ecb97b 
>   service/src/java/org/apache/hive/service/server/KillQueryImpl.java 
> 490a04da67 
> 
> 
> Diff: https://reviews.apache.org/r/68709/diff/2/
> 
> 
> Testing
> ---
> 
> 
> Thanks,
> 
> Sergey Shelukhin
> 
>



Re: Review Request 68709: HIVE-20547 HS2: support Tez sessions started by someone else (part 1)

2018-09-13 Thread Sergey Shelukhin

---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/68709/
---

(Updated Sept. 13, 2018, 8:11 p.m.)


Review request for hive and Prasanth_J.


Repository: hive-git


Description
---

see jira


Diffs (updated)
-

  common/src/java/org/apache/hadoop/hive/conf/HiveConf.java aa58d7445c 
  itests/util/src/main/java/org/apache/hadoop/hive/ql/QTestUtil.java bfa3d5d7d2 
  ql/pom.xml d73deba440 
  ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java 79cb54e552 
  ql/src/java/org/apache/hadoop/hive/ql/exec/tez/AbstractTriggerValidator.java 
PRE-CREATION 
  ql/src/java/org/apache/hadoop/hive/ql/exec/tez/KillTriggerActionHandler.java 
f357775c86 
  ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezExternalSessionState.java 
PRE-CREATION 
  
ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezExternalSessionsRegistryClient.java
 PRE-CREATION 
  ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezSession.java PRE-CREATION 
  ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezSessionPool.java 89954cba67 
  ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezSessionPoolManager.java 
2633390861 
  ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezSessionPoolSession.java 
d3748edb86 
  ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezSessionState.java 
08e65a4a6d 
  ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezTask.java f2ed07add5 
  ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TriggerValidatorRunnable.java 
670184b0ac 
  ql/src/java/org/apache/hadoop/hive/ql/exec/tez/WmTezSession.java fa2b02e591 
  ql/src/java/org/apache/hadoop/hive/ql/exec/tez/WorkloadManager.java 
5326e3590f 
  ql/src/java/org/apache/hadoop/hive/ql/exec/tez/WorkloadManagerFederation.java 
4b5022a101 
  ql/src/java/org/apache/hadoop/hive/ql/session/KillQuery.java 01dc7e2cd7 
  ql/src/java/org/apache/hadoop/hive/ql/session/NullKillQuery.java eac2936719 
  ql/src/java/org/apache/hadoop/hive/ql/session/SessionState.java 71e130b608 
  ql/src/java/org/apache/hadoop/hive/ql/wm/SessionTriggerProvider.java 
16106f481b 
  ql/src/test/org/apache/hadoop/hive/ql/exec/tez/SampleTezSessionState.java 
f5ab981f26 
  ql/src/test/org/apache/hadoop/hive/ql/exec/tez/TestTezSessionPool.java 
d5b683f788 
  ql/src/test/org/apache/hadoop/hive/ql/exec/tez/TestTezTask.java b67aec371d 
  ql/src/test/org/apache/hadoop/hive/ql/exec/tez/TestWorkloadManager.java 
4659ecb97b 
  service/src/java/org/apache/hive/service/server/KillQueryImpl.java 490a04da67 


Diff: https://reviews.apache.org/r/68709/diff/2/

Changes: https://reviews.apache.org/r/68709/diff/1-2/


Testing
---


Thanks,

Sergey Shelukhin



Re: Review Request 68709: HIVE-20547 HS2: support Tez sessions started by someone else (part 1)

2018-09-13 Thread j . prasanth . j


> On Sept. 13, 2018, 8:03 a.m., Prasanth_J wrote:
> > ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezExternalSessionsRegistryClient.java
> > Lines 37 (patched)
> > 
> >
> > Yes. Tez needs severals fixes in addition to registry client
> > 1) One that cuts of yarn/RM interaction
> > 2) Registry configs via TezConfiguration
> > 3) Handling DAG recovery for external sessions
> 
> Sergey Shelukhin wrote:
> can you file some Tez jiras for that?

https://issues.apache.org/jira/browse/TEZ-3991


- Prasanth_J


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/68709/#review208584
---


On Sept. 13, 2018, 2:19 a.m., Sergey Shelukhin wrote:
> 
> ---
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/68709/
> ---
> 
> (Updated Sept. 13, 2018, 2:19 a.m.)
> 
> 
> Review request for hive and Prasanth_J.
> 
> 
> Repository: hive-git
> 
> 
> Description
> ---
> 
> see jira
> 
> 
> Diffs
> -
> 
>   common/src/java/org/apache/hadoop/hive/conf/HiveConf.java aa58d7445c 
>   itests/util/src/main/java/org/apache/hadoop/hive/ql/QTestUtil.java 
> bfa3d5d7d2 
>   ql/pom.xml a55cbe380d 
>   
> ql/src/java/org/apache/hadoop/hive/ql/exec/tez/AbstractTriggerValidator.java 
> PRE-CREATION 
>   
> ql/src/java/org/apache/hadoop/hive/ql/exec/tez/KillTriggerActionHandler.java 
> f357775c86 
>   ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezExternalSessionState.java 
> PRE-CREATION 
>   
> ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezExternalSessionsRegistryClient.java
>  PRE-CREATION 
>   ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezSession.java PRE-CREATION 
>   ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezSessionPool.java 
> 89954cba67 
>   ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezSessionPoolManager.java 
> 2633390861 
>   ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezSessionPoolSession.java 
> d3748edb86 
>   ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezSessionState.java 
> 08e65a4a6d 
>   ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezTask.java f2ed07add5 
>   
> ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TriggerValidatorRunnable.java 
> 670184b0ac 
>   ql/src/java/org/apache/hadoop/hive/ql/exec/tez/WmTezSession.java fa2b02e591 
>   ql/src/java/org/apache/hadoop/hive/ql/exec/tez/WorkloadManager.java 
> 5326e3590f 
>   
> ql/src/java/org/apache/hadoop/hive/ql/exec/tez/WorkloadManagerFederation.java 
> 4b5022a101 
>   ql/src/java/org/apache/hadoop/hive/ql/session/SessionState.java 71e130b608 
>   ql/src/java/org/apache/hadoop/hive/ql/wm/SessionTriggerProvider.java 
> 16106f481b 
>   ql/src/test/org/apache/hadoop/hive/ql/exec/tez/SampleTezSessionState.java 
> f5ab981f26 
>   ql/src/test/org/apache/hadoop/hive/ql/exec/tez/TestTezSessionPool.java 
> d5b683f788 
>   ql/src/test/org/apache/hadoop/hive/ql/exec/tez/TestTezTask.java b67aec371d 
>   ql/src/test/org/apache/hadoop/hive/ql/exec/tez/TestWorkloadManager.java 
> 4659ecb97b 
> 
> 
> Diff: https://reviews.apache.org/r/68709/diff/1/
> 
> 
> Testing
> ---
> 
> 
> Thanks,
> 
> Sergey Shelukhin
> 
>



Re: Review Request 68709: HIVE-20547 HS2: support Tez sessions started by someone else (part 1)

2018-09-13 Thread Sergey Shelukhin


> On Sept. 13, 2018, 8:03 a.m., Prasanth_J wrote:
> > ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezExternalSessionState.java
> > Lines 72 (patched)
> > 
> >
> > These resources may not be required. External sessions are assumed to 
> > have all the resources that it requires.

It's used in Tez object construction... I think Eric told me it was important 
for the reconnect patch to still add the resources. So for now I'll keep this 
in.


> On Sept. 13, 2018, 8:03 a.m., Prasanth_J wrote:
> > ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezExternalSessionsRegistryClient.java
> > Lines 37 (patched)
> > 
> >
> > Yes. Tez needs severals fixes in addition to registry client
> > 1) One that cuts of yarn/RM interaction
> > 2) Registry configs via TezConfiguration
> > 3) Handling DAG recovery for external sessions

can you file some Tez jiras for that?


- Sergey


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/68709/#review208584
---


On Sept. 13, 2018, 2:19 a.m., Sergey Shelukhin wrote:
> 
> ---
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/68709/
> ---
> 
> (Updated Sept. 13, 2018, 2:19 a.m.)
> 
> 
> Review request for hive and Prasanth_J.
> 
> 
> Repository: hive-git
> 
> 
> Description
> ---
> 
> see jira
> 
> 
> Diffs
> -
> 
>   common/src/java/org/apache/hadoop/hive/conf/HiveConf.java aa58d7445c 
>   itests/util/src/main/java/org/apache/hadoop/hive/ql/QTestUtil.java 
> bfa3d5d7d2 
>   ql/pom.xml a55cbe380d 
>   
> ql/src/java/org/apache/hadoop/hive/ql/exec/tez/AbstractTriggerValidator.java 
> PRE-CREATION 
>   
> ql/src/java/org/apache/hadoop/hive/ql/exec/tez/KillTriggerActionHandler.java 
> f357775c86 
>   ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezExternalSessionState.java 
> PRE-CREATION 
>   
> ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezExternalSessionsRegistryClient.java
>  PRE-CREATION 
>   ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezSession.java PRE-CREATION 
>   ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezSessionPool.java 
> 89954cba67 
>   ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezSessionPoolManager.java 
> 2633390861 
>   ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezSessionPoolSession.java 
> d3748edb86 
>   ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezSessionState.java 
> 08e65a4a6d 
>   ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezTask.java f2ed07add5 
>   
> ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TriggerValidatorRunnable.java 
> 670184b0ac 
>   ql/src/java/org/apache/hadoop/hive/ql/exec/tez/WmTezSession.java fa2b02e591 
>   ql/src/java/org/apache/hadoop/hive/ql/exec/tez/WorkloadManager.java 
> 5326e3590f 
>   
> ql/src/java/org/apache/hadoop/hive/ql/exec/tez/WorkloadManagerFederation.java 
> 4b5022a101 
>   ql/src/java/org/apache/hadoop/hive/ql/session/SessionState.java 71e130b608 
>   ql/src/java/org/apache/hadoop/hive/ql/wm/SessionTriggerProvider.java 
> 16106f481b 
>   ql/src/test/org/apache/hadoop/hive/ql/exec/tez/SampleTezSessionState.java 
> f5ab981f26 
>   ql/src/test/org/apache/hadoop/hive/ql/exec/tez/TestTezSessionPool.java 
> d5b683f788 
>   ql/src/test/org/apache/hadoop/hive/ql/exec/tez/TestTezTask.java b67aec371d 
>   ql/src/test/org/apache/hadoop/hive/ql/exec/tez/TestWorkloadManager.java 
> 4659ecb97b 
> 
> 
> Diff: https://reviews.apache.org/r/68709/diff/1/
> 
> 
> Testing
> ---
> 
> 
> Thanks,
> 
> Sergey Shelukhin
> 
>



Re: Review Request 68709: HIVE-20547 HS2: support Tez sessions started by someone else (part 1)

2018-09-13 Thread j . prasanth . j

---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/68709/#review208584
---




ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezExternalSessionState.java
Lines 72 (patched)


These resources may not be required. External sessions are assumed to have 
all the resources that it requires.



ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezExternalSessionState.java
Lines 139 (patched)


should it return the one that doesn't talk to yarn? does "external" also 
mean no yarn/RM interaction everywhere in hive side or will that be in a 
separate jira?



ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezExternalSessionsRegistryClient.java
Lines 37 (patched)


Yes. Tez needs severals fixes in addition to registry client
1) One that cuts of yarn/RM interaction
2) Registry configs via TezConfiguration
3) Handling DAG recovery for external sessions



ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezSessionPoolSession.java
Lines 74 (patched)


nit: rename to baseSession?


- Prasanth_J


On Sept. 13, 2018, 2:19 a.m., Sergey Shelukhin wrote:
> 
> ---
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/68709/
> ---
> 
> (Updated Sept. 13, 2018, 2:19 a.m.)
> 
> 
> Review request for hive and Prasanth_J.
> 
> 
> Repository: hive-git
> 
> 
> Description
> ---
> 
> see jira
> 
> 
> Diffs
> -
> 
>   common/src/java/org/apache/hadoop/hive/conf/HiveConf.java aa58d7445c 
>   itests/util/src/main/java/org/apache/hadoop/hive/ql/QTestUtil.java 
> bfa3d5d7d2 
>   ql/pom.xml a55cbe380d 
>   
> ql/src/java/org/apache/hadoop/hive/ql/exec/tez/AbstractTriggerValidator.java 
> PRE-CREATION 
>   
> ql/src/java/org/apache/hadoop/hive/ql/exec/tez/KillTriggerActionHandler.java 
> f357775c86 
>   ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezExternalSessionState.java 
> PRE-CREATION 
>   
> ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezExternalSessionsRegistryClient.java
>  PRE-CREATION 
>   ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezSession.java PRE-CREATION 
>   ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezSessionPool.java 
> 89954cba67 
>   ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezSessionPoolManager.java 
> 2633390861 
>   ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezSessionPoolSession.java 
> d3748edb86 
>   ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezSessionState.java 
> 08e65a4a6d 
>   ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezTask.java f2ed07add5 
>   
> ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TriggerValidatorRunnable.java 
> 670184b0ac 
>   ql/src/java/org/apache/hadoop/hive/ql/exec/tez/WmTezSession.java fa2b02e591 
>   ql/src/java/org/apache/hadoop/hive/ql/exec/tez/WorkloadManager.java 
> 5326e3590f 
>   
> ql/src/java/org/apache/hadoop/hive/ql/exec/tez/WorkloadManagerFederation.java 
> 4b5022a101 
>   ql/src/java/org/apache/hadoop/hive/ql/session/SessionState.java 71e130b608 
>   ql/src/java/org/apache/hadoop/hive/ql/wm/SessionTriggerProvider.java 
> 16106f481b 
>   ql/src/test/org/apache/hadoop/hive/ql/exec/tez/SampleTezSessionState.java 
> f5ab981f26 
>   ql/src/test/org/apache/hadoop/hive/ql/exec/tez/TestTezSessionPool.java 
> d5b683f788 
>   ql/src/test/org/apache/hadoop/hive/ql/exec/tez/TestTezTask.java b67aec371d 
>   ql/src/test/org/apache/hadoop/hive/ql/exec/tez/TestWorkloadManager.java 
> 4659ecb97b 
> 
> 
> Diff: https://reviews.apache.org/r/68709/diff/1/
> 
> 
> Testing
> ---
> 
> 
> Thanks,
> 
> Sergey Shelukhin
> 
>



Review Request 68709: HIVE-20547 HS2: support Tez sessions started by someone else (part 1)

2018-09-12 Thread Sergey Shelukhin

---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/68709/
---

Review request for hive and Prasanth_J.


Repository: hive-git


Description
---

see jira


Diffs
-

  common/src/java/org/apache/hadoop/hive/conf/HiveConf.java aa58d7445c 
  itests/util/src/main/java/org/apache/hadoop/hive/ql/QTestUtil.java bfa3d5d7d2 
  ql/pom.xml a55cbe380d 
  ql/src/java/org/apache/hadoop/hive/ql/exec/tez/AbstractTriggerValidator.java 
PRE-CREATION 
  ql/src/java/org/apache/hadoop/hive/ql/exec/tez/KillTriggerActionHandler.java 
f357775c86 
  ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezExternalSessionState.java 
PRE-CREATION 
  
ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezExternalSessionsRegistryClient.java
 PRE-CREATION 
  ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezSession.java PRE-CREATION 
  ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezSessionPool.java 89954cba67 
  ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezSessionPoolManager.java 
2633390861 
  ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezSessionPoolSession.java 
d3748edb86 
  ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezSessionState.java 
08e65a4a6d 
  ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezTask.java f2ed07add5 
  ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TriggerValidatorRunnable.java 
670184b0ac 
  ql/src/java/org/apache/hadoop/hive/ql/exec/tez/WmTezSession.java fa2b02e591 
  ql/src/java/org/apache/hadoop/hive/ql/exec/tez/WorkloadManager.java 
5326e3590f 
  ql/src/java/org/apache/hadoop/hive/ql/exec/tez/WorkloadManagerFederation.java 
4b5022a101 
  ql/src/java/org/apache/hadoop/hive/ql/session/SessionState.java 71e130b608 
  ql/src/java/org/apache/hadoop/hive/ql/wm/SessionTriggerProvider.java 
16106f481b 
  ql/src/test/org/apache/hadoop/hive/ql/exec/tez/SampleTezSessionState.java 
f5ab981f26 
  ql/src/test/org/apache/hadoop/hive/ql/exec/tez/TestTezSessionPool.java 
d5b683f788 
  ql/src/test/org/apache/hadoop/hive/ql/exec/tez/TestTezTask.java b67aec371d 
  ql/src/test/org/apache/hadoop/hive/ql/exec/tez/TestWorkloadManager.java 
4659ecb97b 


Diff: https://reviews.apache.org/r/68709/diff/1/


Testing
---


Thanks,

Sergey Shelukhin