Thursday, June 19, 2008

Wednesday Morning Mt Falcon ride report



Nice, warm, no wind in the parking lot. I got tires on trail by about 6:15am. There was only one other guy there with his dog (who I nearly accidentally ran over at one point)

I rode (grunted) to the Gazebo, took in the view and did a few pushups and situps. Then I did a fast CCW loop around Parmalee Trail.




Mt Falcon isn't really technically tricky, but I still managed to spin out the rear tire and wash out the front one a couple times early on. I also had to stop to rest and catch my breath a few times, which tells me about the kind of shape I'm in.

Parmalee Trail





Overall, the trail is in good shape, which is more than I can say for the biker.

Wednesday, June 18, 2008

Wednesday Morning Deer Creek Ride Report

Awesome morning. Perfect temperature, no traffic on the road or the trail. I managed to get to the Deer Creek trailhead just before 6:AM and had tires on trails by about 6:05. There were a couple cars on the lot, but I saw only a couple other people on the trail (actually already coming down at 6:05am!)

I rode up the main trail all the way and did two fast CW loops around the Red Mesa loop. Before going all the way down I did a CCW loop on Plymouth Mt. trail. The view from Plymouth Mt was unbelievable.


The lower part main trail is as gnarly as ever and has some really tricky sections. The "Deer Creek Wall" is as demoralizing as ever and I spun out early, which is a good thing since my chest probably would have exploded otherwise.



Since Deer Creek is so close to the CMC, and since it's such a great ride, I may do it again next week.


Vitals: TOT 6:09am
Miles: 11.46 miles
Vert: 1400 vert gain
Time: 1:50
Miles from home to parking lot: 26
Miles from parking lot to work: 15
course link:
http://coach.summitbid.com/course/show/37


Rode up to Red Mesa loop and did two CW laps. Rode Plymouth Mt CCW and down.

Made it to work by 8:50am

Thursday, April 10, 2008

Hibernate cascade delete error

I did a search for
"remove deleted object from associations" in my gmail and came up with a post that sugggested adding a closure to the (Workout) controller called "beforeDelete". I added this and it deletes the items but there is still a problem. The controller stil errors out thinking that they didn't get deleted. I checked the db and the items are deleted so it works.

The problem seems to be references to the workout in the AuthUser domain so they have to be removed and nulled first I think.

Here's the method
def beforeDelete = { workout ->
workout.athlete.lastUpdatedWorkout = null
workout.athlete.removeFromWorkouts(workout)
}

Here's the error:
When trying to delete a workout or a meal I get:
[130922] StackTrace Sanitizing stacktrace:
org.hibernate.ObjectDeletedException: deleted object would be re-saved by cascade (remove deleted object from associations): [Meal#116]
at org.hibernate.impl.SessionImpl.forceFlush(SessionImpl.java:1014)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:165)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.performSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:94)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:70)
at org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl.java:507)
at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:499)
at org.hibernate.engine.CascadingAction$5.cascade(CascadingAction.java:218)
at org.hibernate.engine.Cascade.cascadeToOne(Cascade.java:268)
at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java:216)
at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:169)
at org.hibernate.engine.Cascade.cascade(Cascade.java:130)
at org.hibernate.event.def.AbstractFlushingEventListener.cascadeOnFlush(AbstractFlushingEventListener.java:131)
at org.hibernate.event.def.AbstractFlushingEventListener.prepareEntityFlushes(AbstractFlushingEventListener.java:122)
at org.hibernate.event.def.AbstractFlushingEventListener.flushEverythingToExecutions(AbstractFlushingEventListener.java:65)
at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:26)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1000)
at org.springframework.orm.hibernate3.HibernateAccessor.flushIfNecessary(HibernateAccessor.java:390)
at org.codehaus.groovy.grails.orm.hibernate.support.GrailsOpenSessionInViewInterceptor.flushIfNecessary(GrailsOpenSessionInViewInterceptor.java:78)
at org.springframework.orm.hibernate3.support.OpenSessionInViewInterceptor.postHandle(OpenSessionInViewInterceptor.java:181)
at org.codehaus.groovy.grails.orm.hibernate.support.GrailsOpenSessionInViewInterceptor.postHandle(GrailsOpenSessionInViewInterceptor.java:59)
at org.springframework.web.servlet.handler.WebRequestHandlerInterceptorAdapter.postHandle(WebRequestHandlerInterceptorAdapter.java:61)
at org.codehaus.groovy.grails.web.servlet.GrailsDispatcherServlet.doDispatch(GrailsDispatcherServlet.java:257)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:809)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:476)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:441)


Deleting a workout:
[476516] StackTrace Sanitizing stacktrace:
org.hibernate.ObjectDeletedException: deleted object would be re-saved by cascade (remove deleted object from associations): [Workout#48]
at org.hibernate.impl.SessionImpl.forceFlush(SessionImpl.java:1014)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:165)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.performSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:94)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:70)
at org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl.java:507)
at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:499)
at org.hibernate.engine.CascadingAction$5.cascade(CascadingAction.java:218)
at org.hibernate.engine.Cascade.cascadeToOne(Cascade.java:268)
at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java:216)
at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:169)
at org.hibernate.engine.Cascade.cascade(Cascade.java:130)
at org.hibernate.event.def.AbstractFlushingEventListener.cascadeOnFlush(AbstractFlushingEventListener.java:131)
at org.hibernate.event.def.AbstractFlushingEventListener.prepareEntityFlushes(AbstractFlushingEventListener.java:122)
at org.hibernate.event.def.AbstractFlushingEventListener.flushEverythingToExecutions(AbstractFlushingEventListener.java:65)
at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:26)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1000)
at org.springframework.orm.hibernate3.HibernateAccessor.flushIfNecessary(HibernateAccessor.java:390)
at org.codehaus.groovy.grails.orm.hibernate.support.GrailsOpenSessionInViewInterceptor.flushIfNecessary(GrailsOpenSessionInViewInterceptor.java:78)
at org.springframework.orm.hibernate3.support.OpenSessionInViewInterceptor.postHandle(OpenSessionInViewInterceptor.java:181)
at org.codehaus.groovy.grails.orm.hibernate.support.GrailsOpenSessionInViewInterceptor.postHandle(GrailsOpenSessionInViewInterceptor.java:59)
at org.springframework.web.servlet.handler.WebRequestHandlerInterceptorAdapter.postHandle(WebRequestHandlerInterceptorAdapter.java:61)
at org.codehaus.groovy.grails.web.servlet.GrailsDispatcherServlet.doDispatch(GrailsDispatcherServlet.java:257)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:809)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:476)

Thursday, April 3, 2008

acegi fix works

I got with ericacm@gmail.com and we got the acegi registraion working.

Wednesday, April 2, 2008

fixed equipmentRef

had to drop the table, recreate, remove foreign keys and the chang eto MyISM

Tuesday, April 1, 2008

subversion client upgrade (1.3.2 to 1.4.6) issues

I couldn't run svn update on my command line client on my work linux box because I got
[comcast@linuxdevstation workspace-tru2way]$ cd rngth-TRUNK/
[comcast@linuxdevstation rngth-TRUNK]$ svn update
svn: This client is too old to work with working copy '.'; please get a newer Subversion client

[comcast@linuxdevstation rngth-TRUNK]$ svn help
usage: svn [options] [args]
Subversion command-line client, version 1.3.2.

I downloaded the latest subversion-1.4.6 client (I think it's the client) but could not install because when I ran ./configure, I got
checking for Apache module support via DSO through APXS... no
==================================================================
WARNING: skipping the build of mod_dav_svn
--with-apxs or --with-apache must be used
==================================================================
configure: Apache Portable Runtime (APR) library configuration
checking for APR... no
configure: WARNING: APR not found
The Apache Portable Runtime (APR) library cannot be found.
Please install APR on this system and supply the appropriate
--with-apr option to 'configure'

or

get it with SVN and put it in a subdirectory of this source:

svn co \
http://svn.apache.org/repos/asf/apr/apr/branches/0.9.x \
apr

Run that right here in the top level of the Subversion tree,
then run autogen.sh again.

Whichever of the above you do, you probably need to do
something similar for apr-util, either providing both
--with-apr and --with-apr-util to 'configure', or
getting both from SVN with:

svn co \
http://svn.apache.org/repos/asf/apr/apr-util/branches/0.9.x \
apr-util

configure: error: no suitable apr found

Since I didn't need to mess with it (I use the eclipse subclipse client) I didn't pursue it.

Config issues deploying coach to a different server

MySQL: had to grant all permissions to the server ip explicitely like

grant all on coach_acegi2_prod.* to 'user'@'555.137.91.35' identified by 'password';

and had to set the ip explicitely in the grails-app/conf/Config.groovy production section mysql
url = jdbc:mysql://555.137.91.35/coach-0.3.4