See <https://builds.apache.org/job/Phoenix-3.0-hadoop1/264/changes>

Changes:

[jtaylor] PHOENIX-1297 Adding utility methods to get primary key information 
from the optimized query plan (Samarth Jain)

[jtaylor] PHOENIX-1365 Make sequence salt buckets configurable

[jtaylor] PHOENIX-973 Lexer skips unexpected characters

------------------------------------------
[...truncated 425 lines...]
Running org.apache.phoenix.end2end.NthValueFunctionIT
Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 10.849 sec - in 
org.apache.phoenix.end2end.EncodeFunctionIT
Running org.apache.phoenix.end2end.salted.SaltedTableVarLengthRowKeyIT
Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 7.325 sec - in 
org.apache.phoenix.end2end.NthValueFunctionIT
Running org.apache.phoenix.end2end.salted.SaltedTableUpsertSelectIT
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 4.527 sec - in 
org.apache.phoenix.end2end.salted.SaltedTableVarLengthRowKeyIT
Running org.apache.phoenix.end2end.ConvertTimezoneFunctionIT
Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 4.36 sec - in 
org.apache.phoenix.end2end.ConvertTimezoneFunctionIT
Running org.apache.phoenix.end2end.QueryMoreIT
Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 12.717 sec - in 
org.apache.phoenix.end2end.salted.SaltedTableUpsertSelectIT
Running org.apache.phoenix.end2end.StddevIT
Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 5.692 sec - in 
org.apache.phoenix.end2end.StddevIT
Running org.apache.phoenix.end2end.TenantSpecificViewIndexSaltedIT
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 8.77 sec - in 
org.apache.phoenix.end2end.TenantSpecificViewIndexSaltedIT
Running org.apache.phoenix.end2end.ArithmeticQueryIT
Tests run: 4, Failures: 0, Errors: 2, Skipped: 0, Time elapsed: 19.537 sec <<< 
FAILURE! - in org.apache.phoenix.end2end.QueryMoreIT
testQueryMore1(org.apache.phoenix.end2end.QueryMoreIT)  Time elapsed: 3.895 sec 
 <<< ERROR!
org.apache.phoenix.schema.TableNotFoundException: ERROR 1012 (42M03): Table 
undefined. tableName="HISTORY_TABLE_00Dxxxxxtenant1"
        at 
org.apache.phoenix.schema.PMetaDataImpl.getTable(PMetaDataImpl.java:241)
        at 
org.apache.phoenix.util.PhoenixRuntime.getTable(PhoenixRuntime.java:286)
        at 
org.apache.phoenix.util.PhoenixRuntime.encodeValues(PhoenixRuntime.java:812)
        at 
org.apache.phoenix.end2end.QueryMoreIT.getRecordsOutofCursorTable(QueryMoreIT.java:266)
        at 
org.apache.phoenix.end2end.QueryMoreIT.testQueryMore(QueryMoreIT.java:140)
        at 
org.apache.phoenix.end2end.QueryMoreIT.testQueryMore1(QueryMoreIT.java:48)

testQueryMore4(org.apache.phoenix.end2end.QueryMoreIT)  Time elapsed: 0.594 sec 
 <<< ERROR!
org.apache.phoenix.schema.TableNotFoundException: ERROR 1012 (42M03): Table 
undefined. tableName="HISTORY_TABLE_00Dxxxxxtenant1"
        at 
org.apache.phoenix.schema.PMetaDataImpl.getTable(PMetaDataImpl.java:241)
        at 
org.apache.phoenix.util.PhoenixRuntime.getTable(PhoenixRuntime.java:286)
        at 
org.apache.phoenix.util.PhoenixRuntime.encodeValues(PhoenixRuntime.java:812)
        at 
org.apache.phoenix.end2end.QueryMoreIT.getRecordsOutofCursorTable(QueryMoreIT.java:266)
        at 
org.apache.phoenix.end2end.QueryMoreIT.testQueryMore(QueryMoreIT.java:140)
        at 
org.apache.phoenix.end2end.QueryMoreIT.testQueryMore4(QueryMoreIT.java:66)

Running org.apache.phoenix.end2end.DeleteIT
Tests run: 68, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 95.095 sec - 
in org.apache.phoenix.end2end.HashJoinIT
Running org.apache.phoenix.end2end.LpadFunctionIT
Tests run: 15, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 21.234 sec - 
in org.apache.phoenix.end2end.DeleteIT
Running org.apache.phoenix.end2end.StatementHintsIT
Tests run: 20, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 23.196 sec - 
in org.apache.phoenix.end2end.ArithmeticQueryIT
Running org.apache.phoenix.end2end.EvaluationOfORIT
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 3.613 sec - in 
org.apache.phoenix.end2end.StatementHintsIT
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 3.484 sec - in 
org.apache.phoenix.end2end.EvaluationOfORIT
Running org.apache.phoenix.end2end.FirstValueFunctionIT
Running org.apache.phoenix.end2end.RegexpSplitFunctionIT
Tests run: 25, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 94.352 sec - 
in org.apache.phoenix.end2end.InListIT
Tests run: 10, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 9.486 sec - in 
org.apache.phoenix.end2end.LpadFunctionIT
Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 4.601 sec - in 
org.apache.phoenix.end2end.FirstValueFunctionIT
Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 5.335 sec - in 
org.apache.phoenix.end2end.RegexpSplitFunctionIT

Results :

Tests in error: 
  
QueryMoreIT.testQueryMore1:48->testQueryMore:140->getRecordsOutofCursorTable:266
 » TableNotFound
  
QueryMoreIT.testQueryMore4:66->testQueryMore:140->getRecordsOutofCursorTable:266
 » TableNotFound

Tests run: 410, Failures: 0, Errors: 2, Skipped: 0

[INFO] 
[INFO] --- maven-failsafe-plugin:2.17:integration-test (ClientManagedTimeTests) 
@ phoenix-core ---
[INFO] Failsafe report directory: 
<https://builds.apache.org/job/Phoenix-3.0-hadoop1/ws/phoenix-core/target/failsafe-reports>
[INFO] parallel='none', perCoreThreadCount=true, threadCount=0, 
useUnlimitedThreads=false, threadCountSuites=0, threadCountClasses=0, 
threadCountMethods=0, parallelOptimized=true

-------------------------------------------------------
 T E S T S
-------------------------------------------------------

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running org.apache.phoenix.end2end.ToNumberFunctionIT
Running org.apache.phoenix.end2end.UpsertValuesIT
Running org.apache.phoenix.end2end.IsNullIT
Running org.apache.phoenix.end2end.SequenceIT
Tests run: 18, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 7.753 sec - in 
org.apache.phoenix.end2end.ToNumberFunctionIT
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 7.143 sec - in 
org.apache.phoenix.end2end.IsNullIT
Running org.apache.phoenix.end2end.InMemoryOrderByIT
Running org.apache.phoenix.end2end.NativeHBaseTypesIT
Tests run: 3, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 6.207 sec - in 
org.apache.phoenix.end2end.InMemoryOrderByIT
Running org.apache.phoenix.end2end.ClientTimeArithmeticQueryIT
Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 4.283 sec - in 
org.apache.phoenix.end2end.NativeHBaseTypesIT
Running org.apache.phoenix.end2end.TruncateFunctionIT
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 3.463 sec - in 
org.apache.phoenix.end2end.TruncateFunctionIT
Running org.apache.phoenix.end2end.DerivedTableIT
Tests run: 12, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 28.365 sec - 
in org.apache.phoenix.end2end.UpsertValuesIT
Running org.apache.phoenix.end2end.QueryIT
Tests run: 16, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 14.873 sec - 
in org.apache.phoenix.end2end.DerivedTableIT
Running org.apache.phoenix.end2end.GroupByIT
Tests run: 50, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 38.007 sec - 
in org.apache.phoenix.end2end.SequenceIT
Running org.apache.phoenix.end2end.SpooledOrderByIT
Tests run: 3, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 5.008 sec - in 
org.apache.phoenix.end2end.SpooledOrderByIT
Running org.apache.phoenix.end2end.VariableLengthPKIT
Tests run: 52, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 39.295 sec - 
in org.apache.phoenix.end2end.GroupByIT
Running org.apache.phoenix.end2end.ScanQueryIT
Tests run: 116, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 63.766 sec - 
in org.apache.phoenix.end2end.ClientTimeArithmeticQueryIT
Tests run: 50, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 33.611 sec - 
in org.apache.phoenix.end2end.VariableLengthPKIT
Running org.apache.phoenix.end2end.DynamicColumnIT
Running org.apache.phoenix.end2end.DynamicUpsertIT
Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.838 sec - in 
org.apache.phoenix.end2end.DynamicUpsertIT
Running org.apache.phoenix.end2end.ExtendedQueryExecIT
Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 3.684 sec - in 
org.apache.phoenix.end2end.DynamicColumnIT
Running org.apache.phoenix.end2end.CustomEntityDataIT
Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 3.828 sec - in 
org.apache.phoenix.end2end.CustomEntityDataIT
Running org.apache.phoenix.end2end.ArrayIT
Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 4.587 sec - in 
org.apache.phoenix.end2end.ExtendedQueryExecIT
Running org.apache.phoenix.end2end.SkipRangeParallelIteratorRegionSplitterIT
Tests run: 8, Failures: 0, Errors: 0, Skipped: 8, Time elapsed: 0.121 sec - in 
org.apache.phoenix.end2end.SkipRangeParallelIteratorRegionSplitterIT
Running org.apache.phoenix.end2end.FunkyNamesIT
Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 3.76 sec - in 
org.apache.phoenix.end2end.FunkyNamesIT
Running org.apache.phoenix.end2end.GroupByCaseIT
Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 3.783 sec - in 
org.apache.phoenix.end2end.GroupByCaseIT
Running org.apache.phoenix.end2end.CastAndCoerceIT
Tests run: 68, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 42.489 sec - 
in org.apache.phoenix.end2end.ScanQueryIT
Running org.apache.phoenix.end2end.TopNIT
Tests run: 104, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 87.392 sec - 
in org.apache.phoenix.end2end.QueryIT
Running org.apache.phoenix.end2end.QueryDatabaseMetaDataIT
Tests run: 48, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 29.871 sec - 
in org.apache.phoenix.end2end.ArrayIT
Running org.apache.phoenix.end2end.RowValueConstructorIT
Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 4.689 sec - in 
org.apache.phoenix.end2end.TopNIT
Running org.apache.phoenix.end2end.PercentileIT
Tests run: 28, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 26.827 sec - 
in org.apache.phoenix.end2end.CastAndCoerceIT
Running org.apache.phoenix.end2end.ColumnProjectionOptimizationIT
Tests run: 17, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 12.612 sec - 
in org.apache.phoenix.end2end.PercentileIT
Running org.apache.phoenix.end2end.DistinctCountIT
Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 17.88 sec - in 
org.apache.phoenix.end2end.ColumnProjectionOptimizationIT
Running org.apache.phoenix.end2end.CaseStatementIT
Tests run: 10, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 13.707 sec - 
in org.apache.phoenix.end2end.DistinctCountIT
Running org.apache.phoenix.end2end.ToCharFunctionIT
Tests run: 34, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 31.798 sec - 
in org.apache.phoenix.end2end.RowValueConstructorIT
Running org.apache.phoenix.end2end.salted.SaltedTableIT
Tests run: 10, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 5.073 sec - in 
org.apache.phoenix.end2end.ToCharFunctionIT
Running org.apache.phoenix.end2end.UpsertSelectIT
Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 6.897 sec - in 
org.apache.phoenix.end2end.salted.SaltedTableIT
Running org.apache.phoenix.end2end.ProductMetricsIT
Tests run: 36, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 27.058 sec - 
in org.apache.phoenix.end2end.CaseStatementIT
Running org.apache.phoenix.end2end.NotQueryIT
Tests run: 15, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 52.547 sec - 
in org.apache.phoenix.end2end.QueryDatabaseMetaDataIT
Running org.apache.phoenix.end2end.ReadIsolationLevelIT
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 3.727 sec - in 
org.apache.phoenix.end2end.ReadIsolationLevelIT
Running org.apache.phoenix.end2end.CreateTableIT
Tests run: 61, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 33.778 sec - 
in org.apache.phoenix.end2end.ProductMetricsIT
Running org.apache.phoenix.end2end.CompareDecimalToLongIT
Tests run: 12, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 41.381 sec - 
in org.apache.phoenix.end2end.UpsertSelectIT
Running org.apache.phoenix.end2end.OrderByIT
Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 4.842 sec - in 
org.apache.phoenix.end2end.CompareDecimalToLongIT
Tests run: 3, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 3.98 sec - in 
org.apache.phoenix.end2end.OrderByIT
Tests run: 44, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 30.851 sec - 
in org.apache.phoenix.end2end.NotQueryIT
Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 30.442 sec - 
in org.apache.phoenix.end2end.CreateTableIT

Results :

Tests run: 889, Failures: 0, Errors: 0, Skipped: 11

[INFO] 
[INFO] --- maven-failsafe-plugin:2.17:integration-test 
(NeedTheirOwnClusterTests) @ phoenix-core ---
[INFO] Failsafe report directory: 
<https://builds.apache.org/job/Phoenix-3.0-hadoop1/ws/phoenix-core/target/failsafe-reports>
[INFO] parallel='none', perCoreThreadCount=true, threadCount=0, 
useUnlimitedThreads=false, threadCountSuites=0, threadCountClasses=0, 
threadCountMethods=0, parallelOptimized=true

-------------------------------------------------------
 T E S T S
-------------------------------------------------------

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running org.apache.phoenix.hbase.index.FailForUnsupportedHBaseVersionsIT
Running 
org.apache.phoenix.hbase.index.covered.example.EndtoEndIndexingWithCompressionIT
Running 
org.apache.phoenix.hbase.index.covered.EndToEndCoveredColumnsIndexBuilderIT
Running org.apache.phoenix.hbase.index.covered.example.EndToEndCoveredIndexingIT
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 19.748 sec - in 
org.apache.phoenix.hbase.index.FailForUnsupportedHBaseVersionsIT
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 9.189 sec - in 
org.apache.phoenix.hbase.index.covered.EndToEndCoveredColumnsIndexBuilderIT
Running org.apache.phoenix.hbase.index.covered.example.FailWithoutRetriesIT
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 8.891 sec - in 
org.apache.phoenix.hbase.index.covered.example.FailWithoutRetriesIT
Running org.apache.phoenix.end2end.TenantSpecificTablesDDLIT
Running org.apache.phoenix.mapreduce.CsvBulkLoadToolIT
Tests run: 18, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 28.524 sec - 
in org.apache.phoenix.end2end.TenantSpecificTablesDDLIT
Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 78.89 sec - in 
org.apache.phoenix.hbase.index.covered.example.EndtoEndIndexingWithCompressionIT
Running org.apache.phoenix.end2end.index.MutableIndexFailureIT
Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 78.623 sec - 
in org.apache.phoenix.hbase.index.covered.example.EndToEndCoveredIndexingIT
Running org.apache.phoenix.end2end.ContextClassloaderIT
Running org.apache.phoenix.end2end.TenantSpecificTablesDMLIT
Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 8.118 sec - in 
org.apache.phoenix.end2end.ContextClassloaderIT
Running org.apache.phoenix.end2end.ViewIT
Tests run: 15, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 23.068 sec - 
in org.apache.phoenix.end2end.TenantSpecificTablesDMLIT
Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 19.744 sec - 
in org.apache.phoenix.end2end.ViewIT
Running org.apache.phoenix.end2end.MultiCfQueryExecIT
Running org.apache.phoenix.end2end.KeyOnlyIT
Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 19.124 sec - in 
org.apache.phoenix.end2end.MultiCfQueryExecIT
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 9.629 sec - in 
org.apache.phoenix.end2end.KeyOnlyIT
Running org.apache.phoenix.end2end.SpillableGroupByIT
Running org.apache.phoenix.end2end.SaltedViewIT
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 9.136 sec - in 
org.apache.phoenix.end2end.SpillableGroupByIT
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 9.268 sec - in 
org.apache.phoenix.end2end.SaltedViewIT
Running org.apache.phoenix.end2end.StatsCollectorIT
Running org.apache.phoenix.end2end.ParallelIteratorsIT
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 9.646 sec - in 
org.apache.phoenix.end2end.StatsCollectorIT
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 135.111 sec - 
in org.apache.phoenix.end2end.index.MutableIndexFailureIT
Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 176.943 sec - 
in org.apache.phoenix.mapreduce.CsvBulkLoadToolIT
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 19.071 sec - in 
org.apache.phoenix.end2end.ParallelIteratorsIT

Results :

Tests run: 95, Failures: 0, Errors: 0, Skipped: 0

[INFO] 
[INFO] --- maven-failsafe-plugin:2.17:verify (HBaseManagedTimeTests) @ 
phoenix-core ---
[INFO] Failsafe report directory: 
<https://builds.apache.org/job/Phoenix-3.0-hadoop1/ws/phoenix-core/target/failsafe-reports>
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO] 
[INFO] Apache Phoenix .................................... SUCCESS [2.264s]
[INFO] Phoenix Hadoop Compatibility ...................... SUCCESS [0.498s]
[INFO] Phoenix Core ...................................... FAILURE [12:18.499s]
[INFO] Phoenix - Flume ................................... SKIPPED
[INFO] Phoenix - Pig ..................................... SKIPPED
[INFO] Phoenix Hadoop1 Compatibility ..................... SKIPPED
[INFO] Phoenix Assembly .................................. SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 12:21.684s
[INFO] Finished at: Sat Oct 18 01:57:22 UTC 2014
[INFO] Final Memory: 32M/530M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal 
org.apache.maven.plugins:maven-failsafe-plugin:2.17:verify 
(HBaseManagedTimeTests) on project phoenix-core: There are test failures.
[ERROR] 
[ERROR] Please refer to 
<https://builds.apache.org/job/Phoenix-3.0-hadoop1/ws/phoenix-core/target/failsafe-reports>
 for the individual test results.
[ERROR] -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e 
switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please 
read the following articles:
[ERROR] [Help 1] 
http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
[ERROR] 
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR]   mvn <goals> -rf :phoenix-core
Build step 'Invoke top-level Maven targets' marked build as failure
Archiving artifacts
Sending artifact delta relative to Phoenix | 3.0 | Hadoop1 #262
Archived 582 artifacts
Archive block size is 32768
Received 1323 blocks and 195905060 bytes
Compression is 18.1%
Took 2 min 13 sec
Updating PHOENIX-1365
Updating PHOENIX-1297
Updating PHOENIX-973
Recording test results

Reply via email to