[jira] [Updated] (ZOOKEEPER-3587) Add a documentation about docker

2019-10-17 Thread maoling (Jira)


 [ 
https://issues.apache.org/jira/browse/ZOOKEEPER-3587?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

maoling updated ZOOKEEPER-3587:
---
Description: A Follow-up documentation work: 
[https://github.com/apache/zookeeper/pull/1075]

> Add a documentation about docker
> 
>
> Key: ZOOKEEPER-3587
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-3587
> Project: ZooKeeper
>  Issue Type: Improvement
>  Components: documentation
>Reporter: maoling
>Assignee: maoling
>Priority: Minor
>
> A Follow-up documentation work: 
> [https://github.com/apache/zookeeper/pull/1075]



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (ZOOKEEPER-3587) Add a documentation about docker

2019-10-17 Thread maoling (Jira)
maoling created ZOOKEEPER-3587:
--

 Summary: Add a documentation about docker
 Key: ZOOKEEPER-3587
 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-3587
 Project: ZooKeeper
  Issue Type: Improvement
  Components: documentation
Reporter: maoling
Assignee: maoling






--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Resolved] (ZOOKEEPER-3527) add a series of docker thing about zookeeper

2019-10-17 Thread maoling (Jira)


 [ 
https://issues.apache.org/jira/browse/ZOOKEEPER-3527?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

maoling resolved ZOOKEEPER-3527.

Resolution: Invalid

> add a series of docker thing about zookeeper
> 
>
> Key: ZOOKEEPER-3527
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-3527
> Project: ZooKeeper
>  Issue Type: Improvement
>  Components: documentation, scripts, server
>Affects Versions: 3.6.0
>Reporter: maoling
>Priority: Major
>
> * Add a dockerfile and all the related docker stuff to the zk trunk
>  * Add a link to that [official zookeeper 
> image|[https://hub.docker.com/_/zookeeper]] in the zk official 
> documentation(*README.md*)



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (ZOOKEEPER-3586) Write Log To Multiple Drives

2019-10-17 Thread David Mollitor (Jira)
David Mollitor created ZOOKEEPER-3586:
-

 Summary: Write Log To Multiple Drives
 Key: ZOOKEEPER-3586
 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-3586
 Project: ZooKeeper
  Issue Type: Improvement
  Components: server
Reporter: David Mollitor


Allow ZooKeeper server to write the transaction log to multiple drives.  I can 
imagine two different ways of doing this:

# Allow special namespace ZNodes under the root node.  Upon creation, the user 
can specify the location of the log file for all activity under this node.
# Write each transaction out to more than one drive and return an ACK when any 
of the writes complete. Cancel any pending writes and delete the files that are 
furthest behind on merge.
# Write each transaction out to more than one drive and obtain a lock on a 
target drive before each write.  If the lock for the first drive is taken, 
attempt to get the lock on the second drive, and so on, ... combine logs on 
merge being mindful that one of the transactions may have failed and created a 
small hole in the middle of the log.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (ZOOKEEPER-3580) Maven Build error: Circular property definition

2019-10-17 Thread Javi Roman (Jira)


 [ 
https://issues.apache.org/jira/browse/ZOOKEEPER-3580?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Javi Roman updated ZOOKEEPER-3580:
--
Labels: build-problem  (was: )

> Maven Build error: Circular property definition
> ---
>
> Key: ZOOKEEPER-3580
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-3580
> Project: ZooKeeper
>  Issue Type: Bug
>  Components: server
>Affects Versions: 3.5.5
>Reporter: Javi Roman
>Priority: Major
>  Labels: build-problem
>
> Fresh download from release site:
> cd apache-zookeeper-3.5.5
> mv clean install
> {code:java}
> [INFO] 
> 
> [INFO] Reactor Summary:
> [INFO] 
> [INFO] Apache ZooKeeper 3.5.5 . SUCCESS [  2.854 
> s]
> [INFO] Apache ZooKeeper - Documentation ... SUCCESS [  2.991 
> s]
> [INFO] Apache ZooKeeper - Jute  SUCCESS [  9.815 
> s]
> [INFO] Apache ZooKeeper - Server .. FAILURE [  0.253 
> s]
> [INFO] Apache ZooKeeper - Client .. SKIPPED
> [INFO] Apache ZooKeeper - Recipes . SKIPPED
> [INFO] Apache ZooKeeper - Recipes - Election .. SKIPPED
> [INFO] Apache ZooKeeper - Recipes - Lock .. SKIPPED
> [INFO] Apache ZooKeeper - Recipes - Queue . SKIPPED
> [INFO] Apache ZooKeeper - Assembly 3.5.5 .. SKIPPED
> [INFO] 
> 
> [INFO] BUILD FAILURE
> [INFO] 
> 
> [INFO] Total time: 16.172 s
> [INFO] Finished at: 2019-10-14T19:23:04+02:00
> [INFO] 
> 
> [ERROR] Failed to execute goal 
> org.codehaus.mojo:properties-maven-plugin:1.0.0:read-project-properties 
> (default) on project zookeeper: Circular property definition: 
> env.BASH_FUNC__module_raw%%=() {  unset _mlshdbg;
> [ERROR]  if [ "${MODULES_SILENT_SHELL_DEBUG:-0}" = '1' ]; then
> [ERROR]  case "$-" in 
> [ERROR]  *v*x*)
> [ERROR]  set +vx;
> [ERROR]  _mlshdbg='vx'
> [ERROR]  ;;
> [ERROR]  *v*)
> [ERROR]  set +v;
> [ERROR]  _mlshdbg='v'
> [ERROR]  ;;
> [ERROR]  *x*)
> [ERROR]  set +x;
> [ERROR]  _mlshdbg='x'
> [ERROR]  ;;
> [ERROR]  *)
> [ERROR]  _mlshdbg=''
> [ERROR]  ;;
> [ERROR]  esac;
> [ERROR]  fi;
> [ERROR]  unset _mlre _mlIFS;
> [ERROR]  if [ -n "${IFS+x}" ]; then
> [ERROR]  _mlIFS=$IFS;
> [ERROR]  fi;
> [ERROR]  IFS=' ';
> [ERROR]  for _mlv in ${MODULES_RUN_QUARANTINE:-};
> [ERROR]  do
> [ERROR]  if [ "${_mlv}" = "${_mlv##*[!A-Za-z0-9_]}" -a "${_mlv}" = 
> "${_mlv#[0-9]}" ]; then
> [ERROR]  if [ -n "`eval 'echo ${'$_mlv'+x}'`" ]; then
> [ERROR]  _mlre="${_mlre:-}${_mlv}_modquar='`eval 'echo ${'$_mlv'}'`' ";
> [ERROR]  fi;
> [ERROR]  _mlrv="MODULES_RUNENV_${_mlv}";
> [ERROR]  _mlre="${_mlre:-}${_mlv}='`eval 'echo ${'$_mlrv':-}'`' ";
> [ERROR]  fi;
> [ERROR]  done;
> [ERROR]  if [ -n "${_mlre:-}" ]; then
> [ERROR]  eval `eval ${_mlre}/usr/bin/tclsh 
> /usr/share/Modules/libexec/modulecmd.tcl bash '"$@"'`;
> [ERROR]  else
> [ERROR]  eval `/usr/bin/tclsh /usr/share/Modules/libexec/modulecmd.tcl bash 
> "$@"`;
> [ERROR]  fi;
> [ERROR]  _mlstatus=$?;
> [ERROR]  if [ -n "${_mlIFS+x}" ]; then
> [ERROR]  IFS=$_mlIFS;
> [ERROR]  else
> [ERROR]  unset IFS;
> [ERROR]  fi;
> [ERROR]  unset _mlre _mlv _mlrv _mlIFS;
> [ERROR]  if [ -n "${_mlshdbg:-}" ]; then
> [ERROR]  set -$_mlshdbg;
> [ERROR]  fi;
> [ERROR]  unset _mlshdbg;
> [ERROR]  return $_mlstatus
> [ERROR] } -> MODULES_SILENT_SHELL_DEBUG:-0=null -> IFS+x=null -> 
> MODULES_RUN_QUARANTINE:-=null -> _mlv=null -> _mlv##*[!A-Za-z0-9_]=null -> 
> _mlv=null
> [ERROR] -> [Help 1]
> {code}
> mvn -version
>  Apache Maven 3.5.4 (Red Hat 3.5.4-5)
>  Maven home: /usr/share/maven
>  Java version: 1.8.0_222, vendor: Oracle Corporation, runtime: 
> /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.222.b10-0.fc30.x86_64/jre
>  Default locale: en_US, platform encoding: UTF-8
>  OS name: "linux", version: "5.2.18-200.fc30.x86_64", arch: "amd64", family: 
> "unix"



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (ZOOKEEPER-3584) "NoAuth" error message is ambiguous

2019-10-17 Thread Lars Francke (Jira)


[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-3584?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16953676#comment-16953676
 ] 

Lars Francke commented on ZOOKEEPER-3584:
-

Hmm but I also get this error when I don't authenticate at all.

Example: I want to access a node with a SASL ACL but I don't provide any 
Kerberos credentials.

> "NoAuth" error message is ambiguous
> ---
>
> Key: ZOOKEEPER-3584
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-3584
> Project: ZooKeeper
>  Issue Type: Improvement
>Affects Versions: 3.5.6
>Reporter: Lars Francke
>Assignee: Lars Francke
>Priority: Trivial
> Attachments: ZOOKEEPER-3584.1.patch
>
>
> Currently we get a NoAuthException printed as "NoAuth"
>  
> Unfortunately "Auth" could mean "Authentication" or "Authorization" so I 
> propose to change the error message to "Not authenticated"
> I won't change the NoAuthException class name.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (ZOOKEEPER-3584) "NoAuth" error message is ambiguous

2019-10-17 Thread Mohammad Arshad (Jira)


[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-3584?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16953612#comment-16953612
 ] 

Mohammad Arshad commented on ZOOKEEPER-3584:


https://github.com/apache/zookeeper/blob/master/zookeeper-server/src/main/java/org/apache/zookeeper/KeeperException.java#L373-L374

This code comment also should be corrected.

> "NoAuth" error message is ambiguous
> ---
>
> Key: ZOOKEEPER-3584
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-3584
> Project: ZooKeeper
>  Issue Type: Improvement
>Affects Versions: 3.5.6
>Reporter: Lars Francke
>Assignee: Lars Francke
>Priority: Trivial
> Attachments: ZOOKEEPER-3584.1.patch
>
>
> Currently we get a NoAuthException printed as "NoAuth"
>  
> Unfortunately "Auth" could mean "Authentication" or "Authorization" so I 
> propose to change the error message to "Not authenticated"
> I won't change the NoAuthException class name.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (ZOOKEEPER-3584) "NoAuth" error message is ambiguous

2019-10-17 Thread Mohammad Arshad (Jira)


[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-3584?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16953608#comment-16953608
 ] 

Mohammad Arshad commented on ZOOKEEPER-3584:


Authorization

> "NoAuth" error message is ambiguous
> ---
>
> Key: ZOOKEEPER-3584
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-3584
> Project: ZooKeeper
>  Issue Type: Improvement
>Affects Versions: 3.5.6
>Reporter: Lars Francke
>Assignee: Lars Francke
>Priority: Trivial
> Attachments: ZOOKEEPER-3584.1.patch
>
>
> Currently we get a NoAuthException printed as "NoAuth"
>  
> Unfortunately "Auth" could mean "Authentication" or "Authorization" so I 
> propose to change the error message to "Not authenticated"
> I won't change the NoAuthException class name.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (ZOOKEEPER-3584) "NoAuth" error message is ambiguous

2019-10-17 Thread Lars Francke (Jira)


[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-3584?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16953604#comment-16953604
 ] 

Lars Francke commented on ZOOKEEPER-3584:
-

Thanks for the hint! That kinda proves the point of this issue.

Especially considering that the Javadoc says different: 
[https://github.com/apache/zookeeper/blob/master/zookeeper-server/src/main/java/org/apache/zookeeper/KeeperException.java#L373-L374]

 

So...which is it? Authorization or Authentication? Or both?

> "NoAuth" error message is ambiguous
> ---
>
> Key: ZOOKEEPER-3584
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-3584
> Project: ZooKeeper
>  Issue Type: Improvement
>Affects Versions: 3.5.6
>Reporter: Lars Francke
>Assignee: Lars Francke
>Priority: Trivial
> Attachments: ZOOKEEPER-3584.1.patch
>
>
> Currently we get a NoAuthException printed as "NoAuth"
>  
> Unfortunately "Auth" could mean "Authentication" or "Authorization" so I 
> propose to change the error message to "Not authenticated"
> I won't change the NoAuthException class name.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (ZOOKEEPER-3584) "NoAuth" error message is ambiguous

2019-10-17 Thread Mohammad Arshad (Jira)


[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-3584?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16953587#comment-16953587
 ] 

Mohammad Arshad commented on ZOOKEEPER-3584:


org.apache.zookeeper.KeeperException.Code#NOAUTH/org.apache.zookeeper.KeeperException.NoAuthException
  means  no authorization. This code/exception is returned when ACL check fails.



> "NoAuth" error message is ambiguous
> ---
>
> Key: ZOOKEEPER-3584
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-3584
> Project: ZooKeeper
>  Issue Type: Improvement
>Affects Versions: 3.5.6
>Reporter: Lars Francke
>Assignee: Lars Francke
>Priority: Trivial
> Attachments: ZOOKEEPER-3584.1.patch
>
>
> Currently we get a NoAuthException printed as "NoAuth"
>  
> Unfortunately "Auth" could mean "Authentication" or "Authorization" so I 
> propose to change the error message to "Not authenticated"
> I won't change the NoAuthException class name.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (ZOOKEEPER-3584) "NoAuth" error message is ambiguous

2019-10-17 Thread Lars Francke (Jira)


 [ 
https://issues.apache.org/jira/browse/ZOOKEEPER-3584?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Lars Francke updated ZOOKEEPER-3584:

Attachment: ZOOKEEPER-3584.1.patch

> "NoAuth" error message is ambiguous
> ---
>
> Key: ZOOKEEPER-3584
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-3584
> Project: ZooKeeper
>  Issue Type: Improvement
>Affects Versions: 3.5.6
>Reporter: Lars Francke
>Assignee: Lars Francke
>Priority: Trivial
> Attachments: ZOOKEEPER-3584.1.patch
>
>
> Currently we get a NoAuthException printed as "NoAuth"
>  
> Unfortunately "Auth" could mean "Authentication" or "Authorization" so I 
> propose to change the error message to "Not authenticated"
> I won't change the NoAuthException class name.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (ZOOKEEPER-3584) "NoAuth" error message is ambiguous

2019-10-17 Thread Lars Francke (Jira)
Lars Francke created ZOOKEEPER-3584:
---

 Summary: "NoAuth" error message is ambiguous
 Key: ZOOKEEPER-3584
 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-3584
 Project: ZooKeeper
  Issue Type: Improvement
Affects Versions: 3.5.6
Reporter: Lars Francke
Assignee: Lars Francke


Currently we get a NoAuthException printed as "NoAuth"

 

Unfortunately "Auth" could mean "Authentication" or "Authorization" so I 
propose to change the error message to "Not authenticated"

I won't change the NoAuthException class name.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Comment Edited] (ZOOKEEPER-3557) Towards a testable codebase

2019-10-17 Thread Zili Chen (Jira)


[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-3557?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16953468#comment-16953468
 ] 

Zili Chen edited comment on ZOOKEEPER-3557 at 10/17/19 7:29 AM:


Generally speaking I'm going to attempt to introduce a new module 
{{zookeeper-testkit}} which contains

src/main - classes as testkits that can be used in downstream project. Such as 
{{TestingServer}}.
src/test - we port current test cases to this directory for using the new 
testkit for a well-divided test cases(note that most of them messily coupled 
with {{ClientBase}})

this module depends on {{zookeeper-server}}.

Another notable things is that project like Curator makes use of {{Testable}} 
which provide {{injectSessionExpiration}} which I think is a useful API for 
client self close the connection(for an edge case can be taken care of with 
this API see also [this 
thread|https://lists.apache.org/x/thread.html/89b7717f6b05556ff381350d515c5afdd15b80442b934e25a2dad398@%3Cuser.zookeeper.apache.org%3E])
 CC [~randgalt]


was (Author: tison):
Generally speaking I'm going to attempt to introduce a new module 
{{zookeeper-testkit}} which contains

src/main - testable classes that can be used in downstream project. Such as 
{{TestingServer}}.
src/test - we port current test cases to this directory for using the new 
testkit for a well-divided test cases(note that most of them messily coupled 
with {{ClientBase}})

this module depends on {{zookeeper-server}}.

Another notable things is that project like Curator makes use of {{Testable}} 
which provide {{injectSessionExpiration}} which I think is a useful API for 
client self close the connection(for an edge case can be taken care of with 
this API see also [this 
thread|https://lists.apache.org/x/thread.html/89b7717f6b05556ff381350d515c5afdd15b80442b934e25a2dad398@%3Cuser.zookeeper.apache.org%3E])
 CC [~randgalt]

> Towards a testable codebase
> ---
>
> Key: ZOOKEEPER-3557
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-3557
> Project: ZooKeeper
>  Issue Type: Task
>  Components: tests
>Reporter: Zili Chen
>Priority: Major
>
> This issue is umbrella issue tracks all efforts towards a testable ZooKeeper 
> codebase.
> *Motivation*
> On the one hand, many of our adopters such as HBase, Curator and so on 
> maintain their own testkit for ZooKeeper[1][2]; on the other hand, ZooKeeper 
> itself doesn't have a well-designed testkit. Here are some of issues in our 
> testing "framework".
> 1. {{ZooKeeperTestable}} becomes a production scope class while it should be 
> in testing scope.
> 2. {{ZooKeeperTestable}} is only used in {{SessionTimeoutTest}} while its 
> name infers a completed testing class.
> 3. {{ClientBase}} is super class of many of zookeeper tests while it contains 
> too many orthogonal functions that its subclass inherits lots of burdens that 
> is not required.
> 4. Testing logics are injected casually so that we suffer from visibility 
> chaos.
> ...
> Due to ZooKeeper doesn't provide testkit our adopters have to write ZK 
> relative tests with quite internal concepts. For example, HBase wait for ZK 
> server launched by 4 letter words which causes issue when upgrade from ZK 
> 3.4.x to ZK 3.5.5 where 4 letter words are disabled by default.
> [1] 
> https://github.com/apache/hbase/blob/master/hbase-zookeeper/src/main/java/org/apache/hadoop/hbase/zookeeper/MiniZooKeeperCluster.java
> [2] 
> https://github.com/apache/curator/blob/master/curator-test/src/main/java/org/apache/curator/test/TestingCluster.java



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (ZOOKEEPER-3557) Towards a testable codebase

2019-10-17 Thread Zili Chen (Jira)


[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-3557?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16953468#comment-16953468
 ] 

Zili Chen commented on ZOOKEEPER-3557:
--

Generally speaking I'm going to attempt to introduce a new module 
{{zookeeper-testkit}} which contains

src/main - testable classes that can be used in downstream project. Such as 
{{TestingServer}}.
src/test - we port current test cases to this directory for using the new 
testkit for a well-divided test cases(note that most of them messily coupled 
with {{ClientBase}})

this module depends on {{zookeeper-server}}.

Another notable things is that project like Curator makes use of {{Testable}} 
which provide {{injectSessionExpiration}} which I think is a useful API for 
client self close the connection(for an edge case can be taken care of with 
this API see also [this 
thread|https://lists.apache.org/x/thread.html/89b7717f6b05556ff381350d515c5afdd15b80442b934e25a2dad398@%3Cuser.zookeeper.apache.org%3E])
 CC [~randgalt]

> Towards a testable codebase
> ---
>
> Key: ZOOKEEPER-3557
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-3557
> Project: ZooKeeper
>  Issue Type: Task
>  Components: tests
>Reporter: Zili Chen
>Priority: Major
>
> This issue is umbrella issue tracks all efforts towards a testable ZooKeeper 
> codebase.
> *Motivation*
> On the one hand, many of our adopters such as HBase, Curator and so on 
> maintain their own testkit for ZooKeeper[1][2]; on the other hand, ZooKeeper 
> itself doesn't have a well-designed testkit. Here are some of issues in our 
> testing "framework".
> 1. {{ZooKeeperTestable}} becomes a production scope class while it should be 
> in testing scope.
> 2. {{ZooKeeperTestable}} is only used in {{SessionTimeoutTest}} while its 
> name infers a completed testing class.
> 3. {{ClientBase}} is super class of many of zookeeper tests while it contains 
> too many orthogonal functions that its subclass inherits lots of burdens that 
> is not required.
> 4. Testing logics are injected casually so that we suffer from visibility 
> chaos.
> ...
> Due to ZooKeeper doesn't provide testkit our adopters have to write ZK 
> relative tests with quite internal concepts. For example, HBase wait for ZK 
> server launched by 4 letter words which causes issue when upgrade from ZK 
> 3.4.x to ZK 3.5.5 where 4 letter words are disabled by default.
> [1] 
> https://github.com/apache/hbase/blob/master/hbase-zookeeper/src/main/java/org/apache/hadoop/hbase/zookeeper/MiniZooKeeperCluster.java
> [2] 
> https://github.com/apache/curator/blob/master/curator-test/src/main/java/org/apache/curator/test/TestingCluster.java



--
This message was sent by Atlassian Jira
(v8.3.4#803005)