So the issue was in Neo and not Neoclipse?  If so, is this a recommended
patch for everyone running Neo 1.2 who might encounter a recovery/restart
situation, or is this something specific to a Neoclipse issue?

Thanks,

Rick

-----Original Message-----
From: user-boun...@lists.neo4j.org [mailto:user-boun...@lists.neo4j.org] On
Behalf Of Anders Nawroth
Sent: Monday, January 17, 2011 4:10 PM
To: Neo4j user discussions
Subject: Re: [Neo4j] Unfinished transaction - cannot open db

Hi!

2011-01-17 20:42, Andreas Bauer:
> Great! Thanks alot! Let me know when and where I can download the update!

The snapshot version of the download package is found here:

http://neo4j.org/get?file=neo4j-1.3-SNAPSHOT-unix.tar.gz
http://neo4j.org/get?file=neo4j-1.3-SNAPSHOT-windows.zip


/anders


>
> Cheers,
>
> Andi
>
> Am 17.01.2011 um 10:03 schrieb Mattias Persson:
>
>> Hi again and sorry for late response,
>>
>> This has been some nut to crack, but finally I think the bug is resolved.
>> It's committed and will be available in the next milestone, but is
already
>> available (at least within the next hour or so) in SNAPSHOT builds from
the
>> neo4j maven repository.
>>
>> I'd like to thank you for being persistent in giving back information and
>> being very helpful!
>>
>> If the issue is still there please report back.
>>
>>
>> Best,
>> Mattias
>>
>> 2011/1/14 Andreas Bauer<b...@gmx.net>
>>
>>> Hi,
>>>
>>> on the classpath are the libs  that come with neoclipse, so geronimo and
>>> all the neo4j-libs including neo4j-lucene-index-0.2-1.2.jar.
>>>
>>> When I start the database in neoclipse the following messages are
written:
>>>
>>> Jan 14 18:17:02 CET 2011: XaResourceManager[./nioneo_logical.log]
sorting 0
>>> xids
>>> Fri Jan 14 18:17:02 CET 2011: XaResourceManager[./nioneo_logical.log]
>>> checkRecoveryComplete 0 xids
>>> Fri Jan 14 18:17:02 CET 2011: ./neostore.relationshiptypestore.db.names
>>> rebuild id generator, highId=5 defragged count=0
>>> Fri Jan 14 18:17:02 CET 2011: ./neostore.propertystore.db.index.keys
>>> rebuild id generator, highId=3 defragged count=0
>>> Fri Jan 14 18:17:02 CET 2011: ./neostore.propertystore.db.index rebuild
id
>>> generator, highId=2 defragged count=0
>>> Fri Jan 14 18:17:03 CET 2011: ./neostore.propertystore.db.strings
rebuild
>>> id generator, highId=1788 defragged count=0
>>> Fri Jan 14 18:17:03 CET 2011: ./neostore.propertystore.db.arrays rebuild
id
>>> generator, highId=1 defragged count=0
>>> Fri Jan 14 18:17:03 CET 2011: ./neostore.propertystore.db rebuild id
>>> generator, highId=2924 defragged count=0
>>> Fri Jan 14 18:17:03 CET 2011: ./neostore.relationshipstore.db rebuild id
>>> generator, highId=1137 defragged count=0
>>> Fri Jan 14 18:17:03 CET 2011: ./neostore.nodestore.db rebuild id
generator,
>>> highId=2019 defragged count=0
>>> Fri Jan 14 18:17:03 CET 2011: ./neostore rebuild id generator, highId=4
>>> defragged count=0
>>> Fri Jan 14 18:17:03 CET 2011: XaResourceManager[./nioneo_logical.log]
>>> recovery completed.
>>> Fri Jan 14 18:17:03 CET 2011: Recovery on log [./nioneo_logical.log.1]
>>> completed.
>>> Fri Jan 14 18:17:03 CET 2011: Non clean shutdown detected on log
>>> [./lucene/lucene.log.1]. Recovery started ...
>>> Fri Jan 14 18:17:03 CET 2011: [./lucene/lucene.log.1] logVersion=0 with
>>> committed tx=1
>>> Fri Jan 14 18:17:03 CET 2011: [./lucene/lucene.log.1] entries found=0
>>> lastEntryPos=16
>>> Fri Jan 14 18:17:03 CET 2011: XaResourceManager[./lucene/lucene.log]
>>> sorting 0 xids
>>> Fri Jan 14 18:17:03 CET 2011: XaResourceManager[./lucene/lucene.log]
>>> checkRecoveryComplete 0 xids
>>> Fri Jan 14 18:17:03 CET 2011: XaResourceManager[./lucene/lucene.log]
>>> recovery completed.
>>> Fri Jan 14 18:17:03 CET 2011: Recovery on log [./lucene/lucene.log.1]
>>> completed.
>>> Fri Jan 14 18:17:03 CET 2011: Non clean shutdown detected on log
>>> [./lucene-fulltext/lucene.log.1]. Recovery started ...
>>> Fri Jan 14 18:17:03 CET 2011: [./lucene-fulltext/lucene.log.1]
logVersion=0
>>> with committed tx=1
>>> Fri Jan 14 18:17:03 CET 2011: [./lucene-fulltext/lucene.log.1] entries
>>> found=0 lastEntryPos=16
>>> Fri Jan 14 18:17:04 CET 2011:
>>> XaResourceManager[./lucene-fulltext/lucene.log] sorting 0 xids
>>> Fri Jan 14 18:17:04 CET 2011:
>>> XaResourceManager[./lucene-fulltext/lucene.log] checkRecoveryComplete 0
xids
>>> Fri Jan 14 18:17:04 CET 2011:
>>> XaResourceManager[./lucene-fulltext/lucene.log] recovery completed.
>>> Fri Jan 14 18:17:04 CET 2011: Recovery on log
>>> [./lucene-fulltext/lucene.log.1] completed.
>>> Fri Jan 14 18:17:04 CET 2011: Non clean shutdown detected on log
>>> [./index/lucene.log.1]. Recovery started ...
>>> Fri Jan 14 18:17:04 CET 2011: [./index/lucene.log.1] logVersion=0 with
>>> committed tx=1
>>> Fri Jan 14 18:17:04 CET 2011: Injected one phase commit, txId=2
>>> Fri Jan 14 18:17:04 CET 2011: Injected one phase commit, txId=3
>>> Fri Jan 14 18:17:04 CET 2011: Injected one phase commit, txId=4
>>> Fri Jan 14 18:17:04 CET 2011: Injected two phase commit, txId=5
>>> Fri Jan 14 18:17:04 CET 2011: Injected two phase commit, txId=6
>>> Fri Jan 14 18:17:04 CET 2011: Failed to init extension
>>> org.neo4j.graphdb.index.IndexProvider[lucene] Could not create data
source
>>> lucene-index[lucene-index]
>>> org.neo4j.graphdb.TransactionFailureExtion: Could not create data source
>>> lucene-index[lucene-index]
>>>         at
>>>
org.neo4j.kernel.impl.transaction.TxModule.registerDataSource(TxModule.java:
182)
>>>        at
>>>
org.neo4j.index.impl.lucene.LuceneIndexProvider.load(LuceneIndexProvider.jav
a:110)
>>>        at
>>>
org.neo4j.index.impl.lucene.LuceneIndexProvider.init(LuceneIndexProvider.jav
a:94)
>>>        at
>>>
org.neo4j.kernel.KernelExtension$KernelData.initAll(KernelExtension.java:153
)
>>>        at
>>>
org.neo4j.kernel.EmbeddedGraphDbImpl$2.init(EmbeddedGraphDbImpl.java:160)
>>>        at
org.neo4j.kernel.GraphDbInstance.start(GraphDbInstance.java:155)
>>>        at
>>>
org.neo4j.kernel.EmbeddedGraphDbImpl.<init>(EmbeddedGraphDbImpl.java:168)
>>>        at
>>>
org.neo4j.kernel.EmbeddedGraphDatabase.<init>(EmbeddedGraphDatabase.java:81)
>>>        at
>>>
org.neo4j.kernel.EmbeddedGraphDatabase.<init>(EmbeddedGraphDatabase.java:65)
>>>         at
>>>
org.neo4j.neoclipse.graphdb.GraphDbServiceManager$Tasks$1.run(GraphDbService
Manager.java:79)
>>>        at
>>> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
>>>        at
>>> java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
>>>        at java.util.concurrent.FutureTask.run(FutureTask.java:138)
>>>        at
>>>
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.ja
va:886)
>>>        at
>>>
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:9
08)
>>>        at java.lang.Thread.run(Thread.java:680)
>>> Caused by: java.lang.reflect.InvocationTargetExtion
>>>         at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
>>> Method)
>>>        at
>>>
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAcces
sorImpl.java:39)
>>>        at
>>>
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstruc
torAccessorImpl.java:27)
>>>        at
java.lang.reflect.Constructor.newInstance(Constructor.java:513)
>>>        at
>>>
org.neo4j.kernel.impl.transaction.XaDataSourceManager.create(XaDataSourceMan
ager.java:74)
>>>        at
>>>
org.neo4j.kernel.impl.transaction.TxModule.registerDataSource(TxModule.java:
176)
>>>         ... 15 more
>>> Caused by: java.lang.NullPointerExtion
>>>         at
>>>
org.neo4j.index.impl.lucene.LuceneDataSource.findDocument(LuceneDataSource.j
ava:602)
>>>        at
>>>
org.neo4j.index.impl.lucene.CommitContext.getDocument(CommitContext.java:71)
>>>        at
>>>
org.neo4j.index.impl.lucene.LuceneCommand$AddRelationshipCommand.perform(Luc
eneCommand.java:212)
>>>        at
>>>
org.neo4j.index.impl.lucene.LuceneTransaction.doCommit(LuceneTransaction.jav
a:231)
>>>        at
>>>
org.neo4j.kernel.impl.transaction.xaframework.XaTransaction.commit(XaTransac
tion.java:319)
>>>        at
>>>
org.neo4j.kernel.impl.transaction.xaframework.XaResourceManager.injectTwoPha
seCommit(XaResourceManager.java:380)
>>>        at
>>>
org.neo4j.kernel.impl.transaction.xaframework.XaLogicalLog.applyTwoPhaseComm
itEntry(XaLogicalLog.java:577)
>>>        at
>>>
org.neo4j.kernel.impl.transaction.xaframework.XaLogicalLog.applyEntry(XaLogi
calLog.java:469)
>>>        at
>>>
org.neo4j.kernel.impl.transaction.xaframework.XaLogicalLog.doInternalRecover
y(XaLogicalLog.java:804)
>>>        at
>>>
org.neo4j.kernel.impl.transaction.xaframework.XaLogicalLog.open(XaLogicalLog
.java:274)
>>>        at
>>>
org.neo4j.kernel.impl.transaction.xaframework.XaLogicalLog.open(XaLogicalLog
.java:197)
>>>        at
>>>
org.neo4j.kernel.impl.transaction.xaframework.XaContainer.openLogicalLog(XaC
ontainer.java:98)
>>>        at
>>>
org.neo4j.index.impl.lucene.LuceneDataSource.<init>(LuceneDataSource.java:20
7)
>>>         ... 21 more
>>> Fri Jan 14 18:17:04 CET 2011: Extension
>>> org.neo4j.kernel.KernelExtension[shell] initialized ok
>>> Fri Jan 14 18:17:04 CET 2011: Extension
>>> org.neo4j.kernel.KernelExtension[kernel udc] initialized ok
>>> Fri Jan 14 18:17:04 CET 2011: Extension
>>> org.neo4j.kernel.KernelExtension[kernel jmx] initialized ok
>>> Fri Jan 14 18:17:04 CET 2011: TM opening log: ./tm_tx_log.2
>>> Fri Jan 14 18:17:04 CET 2011: TM non resolved transactions found in
>>> ./tm_tx_log.2
>>>
>>>
>>>
>>> Am 14.01.2011 um 09:59 schrieb Johan Svensson:
>>>
>>>> Hi,
>>>>
>>>> Could you provide a list of what jar files are on the classpath.
>>>> Information in the<db-dir>/messages.log printed during startup would
>>>> also be interesting to see.
>>>>
>>>> -Johan
>>>>
>>>> On Thu, Jan 13, 2011 at 9:23 PM, Andreas Bauer<b...@gmx.net>  wrote:
>>>>> Hi,
>>>>>
>>>>> now I got neoclipse running from eclipse, finally :) (BTW: adding -d32
>>> to the VM arguments in the run configuration and copying the jnilib from
>>> org.eclipse.swt.cocoa.macosx does the trick)
>>>>>
>>>>> But when I start my database I get this error:
>>>>>
>>>>> org.neo4j.graphdb.TransactionFailureException: No mapping found for
>>> branchId [0x162374]: No mapping found for branchId [0x162374]
>>>>>
>>>>> Hmm, so how do I manage to clean up the database? shutdown() won't do
>>> nor the source built neoclipse... any hints?
>>>>>
>>>>> Regards,
>>>>>
>>>>> Andi
>>>>>
>>>>>
>>>>> Am 13.01.2011 um 20:36 schrieb Andreas Bauer:
>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> the stack trace below wasn't generated by neoclipse, but by neo4j,
when
>>> I tried to run the shutdown() method.
>>>>>>
>>>>>> Regarding the hint build neo4j from source. Up to now I'm still
>>> struggling with getting neoclipse run from source code on my Mac ( I'm
just
>>> dealing with the 32bit 64bit issue.
>>> http://www.eclipse.org/swt/faq.php#cocoa64launch, which makes me quite
>>> upset, as it additionally wastes lots of time.) So I can't say, if that
>>> helped...
>>>>>>
>>>>>> Cheers,
>>>>>>
>>>>>> Andi
>>>>>>
>>>>>>
>>>>>> Am 12.01.2011 um 23:26 schrieb Andreas Bauer:
>>>>>>
>>>>>>> Hi,
>>>>>>>
>>>>>>> I use the latest stable version for mac available on the neo4j
>>> homepage (V1.2). And no, I didn't delete anything.
>>>>>>>
>>>>>>> Regards,
>>>>>>>
>>>>>>> Andi
>>>>>>>
>>>>>>>
>>>>>>> Am 12.01.2011 um 22:52 schrieb Michael Hunger:
>>>>>>>
>>>>>>>> Hi Andi,
>>>>>>>>
>>>>>>>> what version of neo4j are you running against? The latest 1.2 or
sth
>>> else?
>>>>>>>>
>>>>>>>> And did you delete any of the files of the database?
>>>>>>>>
>>>>>>>> Thanks a lot
>>>>>>>>
>>>>>>>> Michael
>>>>>>>>
>>>>>>>> Am 12.01.2011 um 21:10 schrieb Andreas Bauer:
>>>>>>>>
>>>>>>>>> Hi,
>>>>>>>>>
>>>>>>>>> ok, I did that and now I get this stack trace
>>>>>>>>>
>>>>>>>>> 12.01.2011 21:04:57
>>> org.neo4j.kernel.impl.transaction.xaframework.XaLogicalLog
>>> doInternalRecovery
>>>>>>>>> INFO: Non clean shutdown detected on log
[cep/nioneo_logical.log.1].
>>> Recovery started ...
>>>>>>>>> 12.01.2011 21:05:01
>>> org.neo4j.kernel.impl.transaction.xaframework.XaLogicalLog
>>> doInternalRecovery
>>>>>>>>> INFO: Non clean shutdown detected on log
[cep/lucene/lucene.log.1].
>>> Recovery started ...
>>>>>>>>> 12.01.2011 21:05:01
>>> org.neo4j.kernel.impl.transaction.xaframework.XaLogicalLog
>>> doInternalRecovery
>>>>>>>>> INFO: Non clean shutdown detected on log
>>> [cep/lucene-fulltext/lucene.log.1]. Recovery started ...
>>>>>>>>> 12.01.2011 21:05:01
>>> org.neo4j.kernel.impl.transaction.xaframework.XaLogicalLog
>>> doInternalRecovery
>>>>>>>>> INFO: Non clean shutdown detected on log
>>> [/Users/buki/Documents/workspace/Pimstr/cep/index/lucene.log.1].
Recovery
>>> started ...
>>>>>>>>> org.neo4j.graphdb.TransactionFailureException: Could not create
data
>>> source lucene-index[lucene-index]
>>>>>>>>>    at
>>>
org.neo4j.kernel.impl.transaction.TxModule.registerDataSource(TxModule.java:
182)
>>>>>>>>>    at
>>>
org.neo4j.index.impl.lucene.LuceneIndexProvider.load(LuceneIndexProvider.jav
a:110)
>>>>>>>>>    at
>>>
org.neo4j.index.impl.lucene.LuceneIndexProvider.init(LuceneIndexProvider.jav
a:94)
>>>>>>>>>    at
>>>
org.neo4j.kernel.KernelExtension$KernelData.initAll(KernelExtension.java:153
)
>>>>>>>>>    at
>>>
org.neo4j.kernel.EmbeddedGraphDbImpl$2.init(EmbeddedGraphDbImpl.java:160)
>>>>>>>>>    at
>>> org.neo4j.kernel.GraphDbInstance.start(GraphDbInstance.java:155)
>>>>>>>>>    at
>>>
org.neo4j.kernel.EmbeddedGraphDbImpl.<init>(EmbeddedGraphDbImpl.java:168)
>>>>>>>>>    at
>>>
org.neo4j.kernel.EmbeddedGraphDatabase.<init>(EmbeddedGraphDatabase.java:81)
>>>>>>>>>    at
>>>
org.neo4j.kernel.EmbeddedGraphDatabase.<init>(EmbeddedGraphDatabase.java:65)
>>>>>>>>>    at
>>> nu.buki.neo4j.SocialNetworkService.<init>(SocialNetworkService.java:46)
>>>>>>>>>    at
>>> nu.buki.neo4j.SocialNetworkService.main(SocialNetworkService.java:325)
>>>>>>>>> Caused by: java.lang.reflect.InvocationTargetException
>>>>>>>>>    at
sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
>>> Method)
>>>>>>>>>    at
>>>
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAcces
sorImpl.java:39)
>>>>>>>>>    at
>>>
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstruc
torAccessorImpl.java:27)
>>>>>>>>>    at
>>> java.lang.reflect.Constructor.newInstance(Constructor.java:513)
>>>>>>>>>    at
>>>
org.neo4j.kernel.impl.transaction.XaDataSourceManager.create(XaDataSourceMan
ager.java:74)
>>>>>>>>>    at
>>>
org.neo4j.kernel.impl.transaction.TxModule.registerDataSource(TxModule.java:
176)
>>>>>>>>>    ... 10 more
>>>>>>>>> Caused by: java.lang.NullPointerException
>>>>>>>>>    at
>>>
org.neo4j.index.impl.lucene.LuceneDataSource.findDocument(LuceneDataSource.j
ava:602)
>>>>>>>>>    at
>>>
org.neo4j.index.impl.lucene.CommitContext.getDocument(CommitContext.java:71)
>>>>>>>>>    at
>>>
org.neo4j.index.impl.lucene.LuceneCommand$AddRelationshipCommand.perform(Luc
eneCommand.java:212)
>>>>>>>>>    at
>>>
org.neo4j.index.impl.lucene.LuceneTransaction.doCommit(LuceneTransaction.jav
a:231)
>>>>>>>>>    at
>>>
org.neo4j.kernel.impl.transaction.xaframework.XaTransaction.commit(XaTransac
tion.java:319)
>>>>>>>>>    at
>>>
org.neo4j.kernel.impl.transaction.xaframework.XaResourceManager.injectTwoPha
seCommit(XaResourceManager.java:380)
>>>>>>>>>    at
>>>
org.neo4j.kernel.impl.transaction.xaframework.XaLogicalLog.applyTwoPhaseComm
itEntry(XaLogicalLog.java:577)
>>>>>>>>>    at
>>>
org.neo4j.kernel.impl.transaction.xaframework.XaLogicalLog.applyEntry(XaLogi
calLog.java:469)
>>>>>>>>>    at
>>>
org.neo4j.kernel.impl.transaction.xaframework.XaLogicalLog.doInternalRecover
y(XaLogicalLog.java:804)
>>>>>>>>>    at
>>>
org.neo4j.kernel.impl.transaction.xaframework.XaLogicalLog.open(XaLogicalLog
.java:274)
>>>>>>>>>    at
>>>
org.neo4j.kernel.impl.transaction.xaframework.XaLogicalLog.open(XaLogicalLog
.java:197)
>>>>>>>>>    at
>>>
org.neo4j.kernel.impl.transaction.xaframework.XaContainer.openLogicalLog(XaC
ontainer.java:98)
>>>>>>>>>    at
>>>
org.neo4j.index.impl.lucene.LuceneDataSource.<init>(LuceneDataSource.java:20
7)
>>>>>>>>>    ... 16 more
>>>>>>>>> 12.01.2011 21:05:01 org.neo4j.kernel.impl.transaction.TxManager
init
>>>>>>>>> INFO: Unresolved transactions found, recovery started ...
>>>>>>>>> Exception in thread "main"
>>> org.neo4j.graphdb.TransactionFailureException: No mapping found for
>>> branchId[0x162374]
>>>>>>>>>    at
>>>
org.neo4j.kernel.impl.transaction.XaDataSourceManager.getXaResource(XaDataSo
urceManager.java:186)
>>>>>>>>>    at
>>>
org.neo4j.kernel.impl.transaction.TxManager.getXaResource(TxManager.java:935
)
>>>>>>>>>    at
>>>
org.neo4j.kernel.impl.transaction.TxManager.buildRecoveryInfo(TxManager.java
:416)
>>>>>>>>>    at
>>> org.neo4j.kernel.impl.transaction.TxManager.recover(TxManager.java:257)
>>>>>>>>>    at
>>> org.neo4j.kernel.impl.transaction.TxManager.init(TxManager.java:181)
>>>>>>>>>    at
>>> org.neo4j.kernel.impl.transaction.TxModule.start(TxModule.java:85)
>>>>>>>>>    at
>>> org.neo4j.kernel.GraphDbInstance.start(GraphDbInstance.java:157)
>>>>>>>>>    at
>>>
org.neo4j.kernel.EmbeddedGraphDbImpl.<init>(EmbeddedGraphDbImpl.java:168)
>>>>>>>>>    at
>>>
org.neo4j.kernel.EmbeddedGraphDatabase.<init>(EmbeddedGraphDatabase.java:81)
>>>>>>>>>    at
>>>
org.neo4j.kernel.EmbeddedGraphDatabase.<init>(EmbeddedGraphDatabase.java:65)
>>>>>>>>>    at
>>>
nu.buki.diss.cep.data.neo4j.SocialNetworkService.<init>(SocialNetworkService
.java:46)
>>>>>>>>>    at
>>>
nu.buki.diss.cep.data.neo4j.SocialNetworkService.main(SocialNetworkService.j
ava:325)
>>>>>>>>>
>>>>>>>>> any ideas?
>>>>>>>>>
>>>>>>>>> Thanks,
>>>>>>>>>
>>>>>>>>> Andi
>>>>>>>>>
>>>> _______________________________________________
>>>> Neo4j mailing list
>>>> User@lists.neo4j.org
>>>> https://lists.neo4j.org/mailman/listinfo/user
>>>
>>> _______________________________________________
>>> Neo4j mailing list
>>> User@lists.neo4j.org
>>> https://lists.neo4j.org/mailman/listinfo/user
>>>
>>
>>
>>
>> --
>> Mattias Persson, [matt...@neotechnology.com]
>> Hacker, Neo Technology
>> www.neotechnology.com
>> _______________________________________________
>> Neo4j mailing list
>> User@lists.neo4j.org
>> https://lists.neo4j.org/mailman/listinfo/user
>
> _______________________________________________
> Neo4j mailing list
> User@lists.neo4j.org
> https://lists.neo4j.org/mailman/listinfo/user
_______________________________________________
Neo4j mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user

_______________________________________________
Neo4j mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user

Reply via email to