See 
<https://builds.apache.org/job/Phoenix-4.x-HBase-0.98/1517/display/redirect?page=changes>

Changes:

[thomas] PHOENIX-3870 Backward compatibility fails between v4.9.0 and head of 
4.x

------------------------------------------
[...truncated 92.13 KB...]
Running org.apache.phoenix.iterate.PhoenixQueryTimeoutIT
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.933 sec - in 
org.apache.phoenix.iterate.PhoenixQueryTimeoutIT
Running org.apache.phoenix.iterate.RoundRobinResultIteratorIT
Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 38.757 sec - in 
org.apache.phoenix.end2end.index.txn.RollbackIT
Running org.apache.phoenix.end2end.salted.SaltedTableVarLengthRowKeyIT
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.337 sec - in 
org.apache.phoenix.end2end.salted.SaltedTableVarLengthRowKeyIT
Running org.apache.phoenix.rpc.UpdateCacheIT
Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 18.254 sec - in 
org.apache.phoenix.rpc.UpdateCacheIT
Running org.apache.phoenix.trace.PhoenixTableMetricsWriterIT
Tests run: 9, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 37.76 sec - in 
org.apache.phoenix.iterate.RoundRobinResultIteratorIT
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.06 sec - in 
org.apache.phoenix.trace.PhoenixTableMetricsWriterIT
Running org.apache.phoenix.trace.PhoenixTracingEndToEndIT
Running org.apache.phoenix.trace.PhoenixTraceReaderIT
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.641 sec - in 
org.apache.phoenix.trace.PhoenixTraceReaderIT
Running org.apache.phoenix.tx.FlappingTransactionIT
Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 4.947 sec - in 
org.apache.phoenix.tx.FlappingTransactionIT
Running org.apache.phoenix.tx.ParameterizedTransactionIT
Running org.apache.phoenix.tx.TransactionIT
Tests run: 64, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 434.601 sec - 
in org.apache.phoenix.end2end.index.MutableIndexIT
Running org.apache.phoenix.tx.TxCheckpointIT
Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 83.106 sec - in 
org.apache.phoenix.trace.PhoenixTracingEndToEndIT
Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 32.973 sec - in 
org.apache.phoenix.tx.TransactionIT
Tests run: 52, Failures: 0, Errors: 0, Skipped: 4, Time elapsed: 129.875 sec - 
in org.apache.phoenix.tx.ParameterizedTransactionIT
Tests run: 40, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 198.323 sec - 
in org.apache.phoenix.tx.TxCheckpointIT
Tests run: 304, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1,421.528 sec 
- in org.apache.phoenix.end2end.index.IndexIT

Results :

Tests run: 2060, Failures: 0, Errors: 0, Skipped: 4

[INFO] 
[INFO] --- maven-failsafe-plugin:2.19.1:integration-test 
(ClientManagedTimeTests) @ phoenix-core ---

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running org.apache.phoenix.end2end.ArrayIT
Running org.apache.phoenix.end2end.CastAndCoerceIT
Running org.apache.phoenix.end2end.ClientTimeArithmeticQueryIT
Running org.apache.phoenix.end2end.CaseStatementIT
Running org.apache.phoenix.end2end.AggregateQueryIT
Tests run: 80, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 62.201 sec - 
in org.apache.phoenix.end2end.ArrayIT
Running org.apache.phoenix.end2end.ColumnProjectionOptimizationIT
Tests run: 49, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 63.675 sec - 
in org.apache.phoenix.end2end.CastAndCoerceIT
Running org.apache.phoenix.end2end.CreateSchemaIT
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.374 sec - in 
org.apache.phoenix.end2end.CreateSchemaIT
Running org.apache.phoenix.end2end.CreateTableIT
Tests run: 56, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 66.445 sec - 
in org.apache.phoenix.end2end.CaseStatementIT
Running org.apache.phoenix.end2end.CustomEntityDataIT
Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 3.895 sec - in 
org.apache.phoenix.end2end.CustomEntityDataIT
Running org.apache.phoenix.end2end.DerivedTableIT
Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 17.69 sec - in 
org.apache.phoenix.end2end.ColumnProjectionOptimizationIT
Running org.apache.phoenix.end2end.DistinctCountIT
Tests run: 42, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 79.413 sec - 
in org.apache.phoenix.end2end.AggregateQueryIT
Running org.apache.phoenix.end2end.DropSchemaIT
Tests run: 18, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 12.387 sec - 
in org.apache.phoenix.end2end.DerivedTableIT
Running org.apache.phoenix.end2end.ExtendedQueryExecIT
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 5.099 sec - in 
org.apache.phoenix.end2end.DropSchemaIT
Running org.apache.phoenix.end2end.FunkyNamesIT
Tests run: 10, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 10.091 sec - 
in org.apache.phoenix.end2end.DistinctCountIT
Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 4.231 sec - in 
org.apache.phoenix.end2end.ExtendedQueryExecIT
Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 3.084 sec - in 
org.apache.phoenix.end2end.FunkyNamesIT
Running org.apache.phoenix.end2end.GroupByIT
Running org.apache.phoenix.end2end.MutableQueryIT
Running org.apache.phoenix.end2end.NativeHBaseTypesIT
Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.585 sec - in 
org.apache.phoenix.end2end.NativeHBaseTypesIT
Running org.apache.phoenix.end2end.NotQueryIT
Tests run: 18, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 72.989 sec - 
in org.apache.phoenix.end2end.CreateTableIT
Running org.apache.phoenix.end2end.PointInTimeQueryIT
Tests run: 245, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 140.162 sec - 
in org.apache.phoenix.end2end.ClientTimeArithmeticQueryIT
Tests run: 77, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 42.272 sec - 
in org.apache.phoenix.end2end.NotQueryIT
Running org.apache.phoenix.end2end.ProductMetricsIT
Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 18.812 sec - in 
org.apache.phoenix.end2end.PointInTimeQueryIT
Running org.apache.phoenix.end2end.QueryIT
Tests run: 91, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 76.224 sec - 
in org.apache.phoenix.end2end.GroupByIT
Tests run: 61, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 27.346 sec - 
in org.apache.phoenix.end2end.ProductMetricsIT
Running org.apache.phoenix.end2end.QueryDatabaseMetaDataIT
Running org.apache.phoenix.end2end.ReadIsolationLevelIT
Running org.apache.phoenix.end2end.RowValueConstructorIT
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 3.227 sec - in 
org.apache.phoenix.end2end.ReadIsolationLevelIT
Running org.apache.phoenix.end2end.ScanQueryIT
Tests run: 112, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 55.577 sec - 
in org.apache.phoenix.end2end.QueryIT
Tests run: 112, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 130.04 sec - 
in org.apache.phoenix.end2end.MutableQueryIT
Running org.apache.phoenix.end2end.SequenceBulkAllocationIT
Tests run: 112, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 47.986 sec - 
in org.apache.phoenix.end2end.ScanQueryIT
Running org.apache.phoenix.end2end.ToNumberFunctionIT
Tests run: 19, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 77.893 sec - 
in org.apache.phoenix.end2end.QueryDatabaseMetaDataIT
Running org.apache.phoenix.end2end.TopNIT
Tests run: 46, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 59.715 sec - 
in org.apache.phoenix.end2end.RowValueConstructorIT
Tests run: 18, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 7.869 sec - in 
org.apache.phoenix.end2end.ToNumberFunctionIT
Running org.apache.phoenix.end2end.TruncateFunctionIT
Running org.apache.phoenix.end2end.UpsertSelectIT
Running org.apache.phoenix.end2end.SequenceIT
Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 4.039 sec - in 
org.apache.phoenix.end2end.TopNIT
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.577 sec - in 
org.apache.phoenix.end2end.TruncateFunctionIT
Running org.apache.phoenix.end2end.UpsertValuesIT
Running org.apache.phoenix.end2end.VariableLengthPKIT
Tests run: 56, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 17.082 sec - 
in org.apache.phoenix.end2end.SequenceBulkAllocationIT
Running org.apache.phoenix.end2end.salted.SaltedTableIT
Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 4.193 sec - in 
org.apache.phoenix.end2end.salted.SaltedTableIT
Running org.apache.phoenix.rpc.UpdateCacheWithScnIT
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 3.185 sec - in 
org.apache.phoenix.rpc.UpdateCacheWithScnIT
Tests run: 54, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 24.416 sec - 
in org.apache.phoenix.end2end.SequenceIT
Tests run: 50, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 36.878 sec - 
in org.apache.phoenix.end2end.VariableLengthPKIT
Tests run: 25, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 55.917 sec - 
in org.apache.phoenix.end2end.UpsertValuesIT
Tests run: 22, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 67.583 sec - 
in org.apache.phoenix.end2end.UpsertSelectIT

Results :

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

[INFO] 
[INFO] --- maven-failsafe-plugin:2.19.1:integration-test 
(HBaseManagedTimeTests) @ phoenix-core ---

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

Results :

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

[INFO] 
[INFO] --- maven-failsafe-plugin:2.19.1:integration-test 
(NeedTheirOwnClusterTests) @ phoenix-core ---

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running 
org.apache.hadoop.hbase.regionserver.wal.WALReplayWithIndexWritesAndCompressedWALIT
Running org.apache.phoenix.end2end.ConnectionUtilIT
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 16.841 sec - in 
org.apache.hadoop.hbase.regionserver.wal.WALReplayWithIndexWritesAndCompressedWALIT
Running org.apache.phoenix.end2end.CountDistinctCompressionIT
Running org.apache.phoenix.end2end.ContextClassloaderIT
Running org.apache.phoenix.end2end.CsvBulkLoadToolIT
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 18.776 sec - in 
org.apache.phoenix.end2end.ConnectionUtilIT
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 4.275 sec - in 
org.apache.phoenix.end2end.CountDistinctCompressionIT
Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 10.423 sec - in 
org.apache.phoenix.end2end.ContextClassloaderIT
Running org.apache.phoenix.end2end.FlappingLocalIndexIT
Running org.apache.phoenix.end2end.IndexToolForPartialBuildIT
Running org.apache.phoenix.end2end.IndexExtendedIT
Running 
org.apache.phoenix.end2end.IndexToolForPartialBuildWithNamespaceEnabledIT
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 22.725 sec - in 
org.apache.phoenix.end2end.IndexToolForPartialBuildIT
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 22.397 sec - in 
org.apache.phoenix.end2end.IndexToolForPartialBuildWithNamespaceEnabledIT
Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 64.425 sec - 
in org.apache.phoenix.end2end.CsvBulkLoadToolIT
Tests run: 40, Failures: 0, Errors: 0, Skipped: 16, Time elapsed: 43.292 sec - 
in org.apache.phoenix.end2end.IndexExtendedIT
Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 65.047 sec - in 
org.apache.phoenix.end2end.FlappingLocalIndexIT
Running org.apache.phoenix.end2end.QueryTimeoutIT
Running org.apache.phoenix.end2end.QueryWithLimitIT
Running org.apache.phoenix.end2end.RegexBulkLoadToolIT
Running org.apache.phoenix.end2end.RenewLeaseIT
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 13.948 sec - in 
org.apache.phoenix.end2end.QueryTimeoutIT
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 12.787 sec - in 
org.apache.phoenix.end2end.QueryWithLimitIT
Running org.apache.phoenix.end2end.SpillableGroupByIT
Running org.apache.phoenix.end2end.StatsCollectorIT
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 34.767 sec - in 
org.apache.phoenix.end2end.RenewLeaseIT
Running org.apache.phoenix.end2end.SysTableNamespaceMappedStatsCollectorIT
Tests run: 2, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 12.98 sec <<< 
FAILURE! - in org.apache.phoenix.end2end.SpillableGroupByIT
testStatisticsAreNotWritten(org.apache.phoenix.end2end.SpillableGroupByIT)  
Time elapsed: 1.591 sec  <<< FAILURE!
java.lang.AssertionError
        at 
org.apache.phoenix.end2end.SpillableGroupByIT.testStatisticsAreNotWritten(SpillableGroupByIT.java:165)

Tests run: 10, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 54.376 sec - 
in org.apache.phoenix.end2end.RegexBulkLoadToolIT
Running org.apache.phoenix.end2end.UserDefinedFunctionsIT
Running org.apache.phoenix.end2end.index.ImmutableIndexIT
Running org.apache.phoenix.end2end.index.LocalIndexIT
Tests run: 14, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 27.722 sec - 
in org.apache.phoenix.end2end.UserDefinedFunctionsIT
Running org.apache.phoenix.end2end.index.MutableIndexFailureIT
Tests run: 1, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 0.001 sec - in 
org.apache.phoenix.end2end.index.MutableIndexFailureIT
Running org.apache.phoenix.end2end.index.MutableIndexReplicationIT
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 17.217 sec - in 
org.apache.phoenix.end2end.index.MutableIndexReplicationIT
Running org.apache.phoenix.end2end.index.txn.TxWriteFailureIT
Tests run: 120, Failures: 0, Errors: 0, Skipped: 24, Time elapsed: 166.471 sec 
- in org.apache.phoenix.end2end.StatsCollectorIT
Tests run: 120, Failures: 0, Errors: 0, Skipped: 24, Time elapsed: 164.185 sec 
- in org.apache.phoenix.end2end.SysTableNamespaceMappedStatsCollectorIT
Running org.apache.phoenix.hbase.index.FailForUnsupportedHBaseVersionsIT
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 18.505 sec - in 
org.apache.phoenix.hbase.index.FailForUnsupportedHBaseVersionsIT
Running 
org.apache.phoenix.hbase.index.covered.EndToEndCoveredColumnsIndexBuilderIT
Running org.apache.phoenix.execute.PartialCommitIT
Tests run: 12, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 5.976 sec - in 
org.apache.phoenix.execute.PartialCommitIT
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 8.078 sec - in 
org.apache.phoenix.hbase.index.covered.EndToEndCoveredColumnsIndexBuilderIT
Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 51.639 sec - in 
org.apache.phoenix.end2end.index.txn.TxWriteFailureIT
Running org.apache.phoenix.hbase.index.covered.example.FailWithoutRetriesIT
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 7.599 sec - in 
org.apache.phoenix.hbase.index.covered.example.FailWithoutRetriesIT
Running org.apache.phoenix.hbase.index.covered.example.EndToEndCoveredIndexingIT
Running 
org.apache.phoenix.hbase.index.covered.example.EndtoEndIndexingWithCompressionIT
Running org.apache.phoenix.iterate.RoundRobinResultIteratorWithStatsIT
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 13.493 sec - in 
org.apache.phoenix.iterate.RoundRobinResultIteratorWithStatsIT
Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 53.469 sec - 
in org.apache.phoenix.hbase.index.covered.example.EndToEndCoveredIndexingIT
Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 54.198 sec - 
in 
org.apache.phoenix.hbase.index.covered.example.EndtoEndIndexingWithCompressionIT
Tests run: 32, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 240.423 sec - 
in org.apache.phoenix.end2end.index.LocalIndexIT
Running org.apache.phoenix.iterate.ScannerLeaseRenewalIT
Running org.apache.phoenix.monitoring.PhoenixMetricsIT
Running org.apache.phoenix.rpc.PhoenixClientRpcIT
Running org.apache.phoenix.rpc.PhoenixServerRpcIT
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 5.592 sec - in 
org.apache.phoenix.rpc.PhoenixClientRpcIT
Tests run: 24, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 283.163 sec - 
in org.apache.phoenix.end2end.index.ImmutableIndexIT
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 15.573 sec - in 
org.apache.phoenix.rpc.PhoenixServerRpcIT
Tests run: 21, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 45.028 sec - 
in org.apache.phoenix.monitoring.PhoenixMetricsIT
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 163.121 sec - 
in org.apache.phoenix.iterate.ScannerLeaseRenewalIT

Results :

Failed tests: 
  SpillableGroupByIT.testStatisticsAreNotWritten:165

Tests run: 473, Failures: 1, Errors: 0, Skipped: 65

[INFO] 
[INFO] --- maven-failsafe-plugin:2.19.1:verify (ParallelStatsEnabledTest) @ 
phoenix-core ---
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO] 
[INFO] Apache Phoenix ..................................... SUCCESS [  2.545 s]
[INFO] Phoenix Core ....................................... FAILURE [  01:03 h]
[INFO] Phoenix - Flume .................................... SKIPPED
[INFO] Phoenix - Kafka .................................... SKIPPED
[INFO] Phoenix - Pig ...................................... SKIPPED
[INFO] Phoenix Query Server Client ........................ SKIPPED
[INFO] Phoenix Query Server ............................... SKIPPED
[INFO] Phoenix - Pherf .................................... SKIPPED
[INFO] Phoenix - Spark .................................... SKIPPED
[INFO] Phoenix - Hive ..................................... SKIPPED
[INFO] Phoenix Client ..................................... SKIPPED
[INFO] Phoenix Server ..................................... SKIPPED
[INFO] Phoenix Assembly ................................... SKIPPED
[INFO] Phoenix - Tracing Web Application .................. SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 01:03 h
[INFO] Finished at: 2017-05-31T18:52:34+00:00
[INFO] Final Memory: 61M/880M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal 
org.apache.maven.plugins:maven-failsafe-plugin:2.19.1:verify 
(ParallelStatsEnabledTest) on project phoenix-core: There are test failures.
[ERROR] 
[ERROR] Please refer to 
<https://builds.apache.org/job/Phoenix-4.x-HBase-0.98/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
Compressed 912.29 MB of artifacts by 34.5% relative to #1511
Recording test results

Reply via email to